首页 文章

在Visual Studio中为不同的构建配置使用不同的预构建事件

提问于
浏览
3

是否可以在Visual Studio中为不同的构建配置使用不同的预构建事件?例如,我想要测试版和实时系统的发布配置,并拥有相关的应用程序 . [type] .config在编译之前复制到app.config .

目前,使用默认app.config文件中的设置将配置设置烘焙到.settings文件中 .

2 回答

  • 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

    或者只是将条件放在目标上......例如,

    Condition="'$(Configuration)' == 'Debug'"
    

    ..或你的任务 .

    如果您正在使用Visual Studio VB / C#简单的后期构建事件,则可以手动编辑项目文件以将这些条件放在PreBuildEvent / PostBuildEvent属性标记上;并重复发布标签 .

    丹(msbuild开发)

相关问题