是否可以在Visual Studio中为不同的构建配置使用不同的预构建事件? 例如,我想要一个测试版和发布版的发布配置。实时系统,并有相关的应用程序。[type] .config在编译之前复制到app.config。
目前,使用默认app.config文件中的设置将配置设置烘焙到.settings文件中。
答案 0 :(得分:2)
或者只是将条件放在目标上......例如,
Condition="'$(Configuration)' == 'Debug'"
..或者你的任务。
如果您正在使用Visual Studio VB / C#简单的后期构建事件,则可以手动编辑项目文件以将这些条件放在PreBuildEvent / PostBuildEvent属性标记上;并重复发布的标签。
Dan(msbuild dev)
答案 1 :(得分:1)
您可以通过多种方式执行此操作,具体取决于您的具体情况:
选项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项目不同,它在发布时发生。)
答案 2 :(得分:0)
要在visual studio中为不同的配置使用不同的构建事件,打开项目的cs proj文件。在预构建部分
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Condition="'$(Configuration)'=='Release'" Command="echo Release" />
<Exec Condition="'$(Configuration)'=='Debug'" Command="echo Debug" />
</Target>
“Command”参数中的命令只有在满足此条件时才会执行。