繁体   English   中英

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

[英]Use different pre-build events for different build configurations in Visual Studio

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

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

或者只是把条件放在你的目标上......例如,

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

.. 或者你的任务。

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

丹 (msbuild dev)

要在 Visual Studio 中针对不同的配置使用不同的构建事件,请打开项目的 cs proj 文件。 在预构建部分

<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
    <Exec Condition="'$(Configuration)'=='Release'" Command="echo Release" />
    <Exec Condition="'$(Configuration)'=='Debug'" Command="echo Debug" />
  </Target>

“命令”参数中的命令只有在满足此条件时才会执行。

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

选项 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:使用配置文件转换; 此 VSIX 插件将 web.config 转换功能添加到非 Web 项目。 这些是 XSLT 文件,可让您在构建时重写配置文件(与 Web 项目不同,它发生在发布时。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM