【问题标题】:MSBuild: override path to .user fileMSBuild:覆盖 .user 文件的路径
【发布时间】:2011-03-24 09:45:32
【问题描述】:

我们有许多使用 MSBuild 构建的标准 .vcxproj 文件。对于某些属性和目标,我们需要一个.vcxproj.user 文件来覆盖特定于正在进行的构建的属性。

为了在开发环境中使用与构建机器相同的构建过程,我们希望将.vcxproj.user的路径指定为与.vcxproj文件不同的目录,以便构建过程可以生成它需要的文件放在单独的目录中,而不会影响用户自己的设置。

关于 msbuild 在何处查找 .user 文件,或者是否可以指定路径,我发现的文档很少?

【问题讨论】:

    标签: msbuild


    【解决方案1】:

    cpp 项目的路径 *.user 文件在 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.Default.props

    中指定
        <MSBuildAllProjects Condition="Exists('$(MSBuildProjectFullPath).user')">$(MSBuildAllProjects);$(MSBuildProjectFullPath).user</MSBuildAllProjects>
    

    它旨在指定自定义用户设置(例如,您可以指定应用程序在调试中运行)并且无法更改。

    要更改构建过程,您可以使用 CustomBeforeMicrosoftCommonTargets。您可以创建自己的 *.targets 文件,该文件将导入特殊属性/目标,更改构建过程以进行一些预处理操作等。我已经为 AfterTargets here 编写了一个示例。您只需实现自定义构建逻辑并将注册更改为 BeforeTargets。

    【讨论】:

      猜你喜欢
      • 2014-08-17
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      • 1970-01-01
      • 2020-03-10
      • 1970-01-01
      • 2016-03-04
      相关资源
      最近更新 更多