C# Visual Studio 2012发布web项目与MSBuild
我在MVC应用程序中添加了一个新配置。Visual Studio 2012将配置块添加到.csproj的顶部。然后尝试通过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
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>