是否可以在Visual Studio中为不同的构建配置使用不同的预构建事件?例如,我想要测试版和实时系统的发布配置,并拥有相关的应用程序 . [type] .config在编译之前复制到app.config .
目前,使用默认app.config文件中的设置将配置设置烘焙到.settings文件中 .
您可以通过几种方式执行此操作,具体取决于您的具体情况:
选项1:检查预构建脚本中的$(ConfigurationName)变量,如下所示:
IF EXISTS $(ProjectDir)app.$(ConfigurationName).config COPY $(ProjectDir)app.$(ConfigurationName).config $(ProjectDir)app.config
选项2:将“BeforeCompile”MSBuild目标添加到项目文件中:
<Target Name="BeforeBuild"> <!-- MSBuild Script here --> </Target>
选项3:使用配置文件转换; this VSIX plug-in将web.config转换功能添加到非Web项目中 . 这些是XSLT文件,允许您在构建时重写配置文件(与Web项目不同,它在发布时发生 . )
或者只是将条件放在目标上......例如,
Condition="'$(Configuration)' == 'Debug'"
..或你的任务 .
如果您正在使用Visual Studio VB / C#简单的后期构建事件,则可以手动编辑项目文件以将这些条件放在PreBuildEvent / PostBuildEvent属性标记上;并重复发布标签 .
丹(msbuild开发)
2 回答
您可以通过几种方式执行此操作,具体取决于您的具体情况:
选项1:检查预构建脚本中的$(ConfigurationName)变量,如下所示:
选项2:将“BeforeCompile”MSBuild目标添加到项目文件中:
选项3:使用配置文件转换; this VSIX plug-in将web.config转换功能添加到非Web项目中 . 这些是XSLT文件,允许您在构建时重写配置文件(与Web项目不同,它在发布时发生 . )
或者只是将条件放在目标上......例如,
..或你的任务 .
如果您正在使用Visual Studio VB / C#简单的后期构建事件,则可以手动编辑项目文件以将这些条件放在PreBuildEvent / PostBuildEvent属性标记上;并重复发布标签 .
丹(msbuild开发)