C# Visual Studio 2012发布web项目与MSBuild

C# Visual Studio 2012发布web项目与MSBuild,c#,asp.net-mvc-3,msbuild,visual-studio-2012,C#,Asp.net Mvc 3,Msbuild,Visual Studio 2012,我在MVC应用程序中添加了一个新配置。Visual Studio 2012将配置块添加到.csproj的顶部。然后尝试通过msbuild生成项目时: msbuild WebApp.csproj/t:Clean;建设_WPPCopyWebApplication/p:Configuration=QA;WebProjectOutputDir=c:\builds\webapp\qa C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Commo

我在MVC应用程序中添加了一个新配置。Visual Studio 2012将配置块添加到.csproj的顶部。然后尝试通过msbuild生成项目时:

msbuild WebApp.csproj/t:Clean;建设_WPPCopyWebApplication/p:Configuration=QA;WebProjectOutputDir=c:\builds\webapp\qa

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(609,5):错误:未为项目“WebApp.csproj”设置OutputPath属性。请检查以确保为此项目指定了有效的配置和平台组合。配置='QA'平台='AnyCPU'。您可能会看到此消息,因为您试图在没有解决方案文件的情况下构建项目,并且为此项目指定了不存在的非默认配置或平台。[c:\code\WebApp.csproj]

有人知道如何在默认配置块之后添加新配置吗?只要我将配置块与其他配置一起向下移动,MSBuild就可以正常工作

编辑以显示Visual Studio 2012如何添加配置:

<?xml version="1.0" encoding="utf-8"?>


调试
任意CPU

你的问题不清楚。错误信息非常清楚。显示添加块的位置的详细信息,线索将在那里仔细检查“AnyCPU”的拼写。我遇到过一个情况,在一个项目中,它是“任意CPU”。如果您还指定了平台属性,会发生什么情况?Deffo使用\p:Platform=“AnyCPU”而不是\p:Platform=“AnyCPU”来尝试它。这对我起作用了!我看了很久了!
<!-- NEW CONFIGURATIONS ARE ADDED HERE -->

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'QA|AnyCPU'">
</PropertyGroup>

<!-- DEFAULT PropertyGroup is here -->

<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
 <!-- blah blah -->
</PropertyGroup>