修改网站MSBuild选项以包含路径中的配置

时间:2015-10-08 19:58:04

标签: msbuild visual-studio-2015

我正在将旧的解决方案从Visual Studio 2005更新到Visual Studio 2015,我试图重现我们旧的kludgy行为,因为我们可以尽可能地减少下游效应。我目前遇到了网站属性页和MSBuild的问题。

Website properties dialog

这里的路径大多是正确的,除了我们希望配置也在路径中。因此,Debug构建将进入E:\Projects\...\PrecompiledWeb\Debug\MyService,而Release构建将进入E:\Projects\...\PrecompiledWeb\Release\MyService。这可行吗?在构建时是否可以插入变量以进行确定?

我们对包含的解决方案文件使用msbuild(如果重要的话,请通过TeamCity,但我可以在没有它的情况下复制它)。

修改:我在解决方案中找到了Debug.AspNetCompiler.TargetPathRelease.AspNetCompiler.TargetPath路径,但如果我将它们更改为独立路径,则Debug会覆盖此版本我下次打开对话框的时候。

1 个答案:

答案 0 :(得分:0)

当MSBuild开始构建项目时,它需要一个或多个项目文件。此对话框从MSBuild项目文件中获取参数(您可以从Visual Studio或仅在每个文本编辑器中编辑它)。该项目应具有名为 $(配置)的属性。您可以在输出变量中使用它:

<OutputPath>E:\Projects\...\PrecompiledWeb\$(Configuration)\MyService</OutputPath>

您必须注意的一件事是必须在 $(OutputPath)属性之前声明属性 $(配置)