build - VS2012 自定义构建步骤 - 将输出视为内容

标签 build visual-studio-2012 msbuild

我目前正在将一个相当大的解决方案从 VS2008 迁移到 VS2012。迄今为止,此解决方案的多个构建步骤都依赖于命令行构建,我想正确使用项目系统来执行这些构建步骤。我经历了各种选择并决定自定义构建步骤在大多数需要它的 VC++ 项目中是有意义的。解决方案是 C++、C# 和 VB 的混合。

这些任务包括构建主要互操作程序集和使用第三方实用程序处理输出文件,其中输入和输出是相同的。

我遇到了一些初期问题,但我大部分时间都在使用这种方法。剩下的问题之一是将这些额外的输出部署到相关项目。

考虑一下;我有一个第三方组件,给定 a.dll 的输入会产生两个输出,即修改后的 a.dll 和 a_util.dll。当我有一个依赖于 a.dll 的项目时,我现在需要该项目也将 a_util.dll 拉入它的输出。我希望 VS2012 中自定义构建步骤中的“将输出视为内容”字段在这方面有所帮助,但我在 UI 中使用单行,我找不到关于此选项的任何综合文档.事实上,MSDN documentation只是假装这个选项不存在。

如果有人可以帮助解释此选项或替代方法,那就太好了。

编辑

目前,我正在向每个依赖项目添加一个 BeforeBuild 目标,以将额外的输出复制到该依赖项目中。这种方法的问题(虽然有效)是维护问题之一。不幸的是,如果缺少这种类型的依赖项,则会导致神秘的运行时错误。

最佳答案

Here's a link to VS2013 documentation上面写着:

Treat Output As Content:此选项仅对 Windows Store 或 Windows Phone 应用程序有意义,它们包括 .appx 包中的所有内容文件。

关于build - VS2012 自定义构建步骤 - 将输出视为内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15478776/

相关文章:

c++ - 由于奇怪的 "compiler generated file could not be created"错误,QT5.6.2 构建无法正常工作

maven - 如何使用maven签署jar,但更改jdk?

从函数初始化的 msbuild 属性无法转换为项目?

Android dex 是一个 JAR 文件,其中包含额外的非 .java 文件

asp.net-mvc - 无法复制文件....因为找不到错误

c++ - 使用两种(人类)语言的应用程序

MSBuild 目标 BeforeBuild 未执行

msbuild - 使用发布配置文件将 Visual Studio Online 持续部署到 Azure 网站

C++ Windows 窗体 - 如何在单击按钮后显示/隐藏某个对象(例如按钮或文本框)?

c++ - 链接到 VS2012 中的 Boost Regex 库