【发布时间】:2017-07-27 19:38:19
【问题描述】:
我花了很多时间解决 MSBuild 任务和输出目录的问题。 这是我在 msbuild 文件中的目标任务:
<Target Name="CompileService">
<MSBuild Projects="$(ServiceProj)"
Targets="Clean;Rebuild"
Properties="Configuration=%(BuildConfig.Identity);
OutputPath=..\..\..\..\..\$(OutServiceDirectory)\%(BuildConfig.AppServer)"/>
</Target>
文件放在两个文件夹中,一些 dll 和 exe 文件放在一个目录,不同的 dll 放在第一个目录之上的不同目录。
当输出路径如下:
OutputPath=D:\SomeLocation\$(PackageTempBackServiceProj)\%(BuildConfig.AppServer)"/>
工作正常。所有文件都进入该文件夹。
问题:我不想硬编码路径。如何编写正确的输出目录。
【问题讨论】:
-
您是否尝试过从命令行运行 msbuild 而不是将其写入 XML?然后您可以使用
/P参数指定属性。这也将允许您在运行 msbuild 命令之前扩展您尝试输出的路径。 -
不,因为它是大型解决方案的一部分。休息工作正常。我需要为存储在参数文件中的 dev\test 环境构建 Windows 服务。我构建是因为每个环境都需要 application.cofig 转换。
标签: visual-studio-2015 build msbuild continuous-integration