在 Visual Studio 中为不同的生成配置使用不同的预生成事件

jaf*_*ffa 5 visual-studio-2010 visual-studio

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

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

Mic*_*eld 1

您可以通过多种方式执行此操作,具体取决于您的具体情况:

选项 1:检查预构建脚本中的 $(ConfigurationName) 变量,如下所示:

IF EXISTS $(ProjectDir)app.$(ConfigurationName).config 
    COPY $(ProjectDir)app.$(ConfigurationName).config $(ProjectDir)app.config
Run Code Online (Sandbox Code Playgroud)

选项 2:将“BeforeCompile”MSBuild 目标添加到项目文件中:

<Target Name="BeforeBuild">
    <!-- MSBuild Script here -->
</Target>
Run Code Online (Sandbox Code Playgroud)

选项3:使用配置文件转换;此 VSIX 插件向非 Web 项目添加了 web.config 转换功能。这些 XSLT 文件可让您在构建时重写配置文件(与 Web 项目不同,Web 项目是在发布时进行的。)