Visual studio 2010 将带有VS2010生成的vcxproj文件的MSBuild用作目标--错误MSB4066(“元素中的属性标签无法识别”) 使用VS2010,我创建了一个Win32 C++控制台应用程序,名为“TFSBuuestTestTalk”。这只是向导创建的默认控制台应用程序。我没有对代码或项目进行任何更改,它在VS2010中的构建正如预期的那样正常
然后,我创建了一个MSBUILD项目文件,如下所示:Visual studio 2010 将带有VS2010生成的vcxproj文件的MSBuild用作目标--错误MSB4066(“元素中的属性标签无法识别”) 使用VS2010,我创建了一个Win32 C++控制台应用程序,名为“TFSBuuestTestTalk”。这只是向导创建的默认控制台应用程序。我没有对代码或项目进行任何更改,它在VS2010中的构建正如预期的那样正常,visual-studio-2010,msbuild,Visual Studio 2010,Msbuild,然后,我创建了一个MSBUILD项目文件,如下所示: <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Target Name="Build"> <MSBuild Projects="TfsBuildTestTarget.sln" Targets="TfsBuildTestTarget" Properties="Configuration=Releas
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build">
<MSBuild Projects="TfsBuildTestTarget.sln" Targets="TfsBuildTestTarget" Properties="Configuration=Release;Platform=Win32"/>
</Target>
</Project>
在此项目文件上运行MSBUILD时,出现以下错误:
“c:\dev\TfsBuildTestTarget\testBuild.proj”
(默认目标)(1)->
“c:\dev\TfsBuildTestTarget\TfsBuildTestTarget.sln”
(TfsBuildTe stTarget目标)(2)->
(TfsBuildTestTarget目标)->c:\dev\TfsBuildTestTarget\TfsBuildTestTarget\TfsBuildTestTarget.vcxproj(3,14): 错误MSB4066:无法识别元素中的属性“Label” (VS生成的)vcxproj文件中的引用行如下所示:
<ItemGroup Label="ProjectConfigurations">
不包括标签属性
这是怎么回事?为什么VS2010生成的项目文件似乎与MSBuild不兼容?有没有办法在不手动调整XML的情况下将此解决方案作为MSBuild项目的一部分生成?请确保您使用的是.NET 4.0版本的MSBuild 如果对包含vcxproj文件的VS2010解决方案使用.NET 3.5版本的MSBuild,则会出现此错误 <>我制作了一个C++控制台应用程序,就像你指定的一样,使用.NET 3.5和.NET 4版本MSBug版本运行它。我用3.5得到了错误,用4.0就成功了 Label属性在.NET 4.0中是新的。可以将其添加到ItemGroup、PropertyGroup、Target和其他元素中。msbuild的联机帮助中未提及label属性,但在msbuild 4.0架构文件中定义了该属性。我使用“开始”菜单的“打开Visual Studio命令提示符(2008)”项进行生成,它给出了相同的错误,但当我切换到“打开Visual Studio命令提示符(2010)”时,我奇迹般地解决了这个问题