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

修改网站MSBuild选项以在路径中包含配置,msbuild,visual-studio-2015,Msbuild,Visual Studio 2015,我正在将一个旧的解决方案从VisualStudio2005更新到VisualStudio2015,并且我正在尝试尽可能安全地重现我们的旧笨拙行为,以最小化下游影响。我目前在网站属性页和MSBuild方面遇到问题 这里的路径基本上是正确的,只是我们希望配置也在路径中。因此,Debugbuild将进入E:\Projects\…\PrecompiledWeb\Debug\MyService,而Releasebuild将进入E:\Projects\…\PrecompiledWeb\Release\My

我正在将一个旧的解决方案从VisualStudio2005更新到VisualStudio2015,并且我正在尝试尽可能安全地重现我们的旧笨拙行为,以最小化下游影响。我目前在网站属性页和MSBuild方面遇到问题

这里的路径基本上是正确的,只是我们希望配置也在路径中。因此,
Debug
build将进入
E:\Projects\…\PrecompiledWeb\Debug\MyService
,而
Release
build将进入
E:\Projects\…\PrecompiledWeb\Release\MyService
。这可行吗?在构建时,是否可以插入一个变量来进行确定

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


编辑:我在解决方案中找到了
Debug.AspNetCompiler.TargetPath
Release.AspNetCompiler.TargetPath
路径,但如果我将它们更改为单独的路径,则在下次打开对话框时,调试路径将覆盖发布路径。

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

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

您必须注意的一点是,属性$(配置)必须在$(输出路径)属性之前声明。

网站项目实际上没有项目文件。解决方案可能是将其转换为webapp,确实如此,但这是一个比我希望的更大的改变。