2011-04-14 75 views
2

我试图调试通过Visual Studio 2008 IDE正确构建解决方案的构建问题,但是当我尝试通过命令行构建可执行文件时无法正常工作(构建,但运行时可执行文件不能按预期运行)。使用MSBuild构建时无效架构

我尝试使用/ val标志,并且在尝试构建解决方案时遇到了无效的架构错误。

C:\LuxRender\windows\lux.sln.cache(3,6): Schema validation error MSB4045: Project is not valid. The element 'PropertyGroup' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003' has invalid child element '_SolutionProjectConfiguration' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'. List of possible elements expected: 'Property' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'. C:\LuxRender\windows\lux.sln.cache(8,6): Schema validation error MSB4045: Project is not valid. The element 'ItemGroup' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003' has invalid child element '_SolutionProjectProjects' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'. List of possible elements expected: 'Item' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'. C:\LuxRender\windows\lux.sln.cache : Schema validation error MSB4042: Stopping because of syntax errors in project file. MSBUILD : Schema validation error MSB4045: Project is not valid. The element 'PropertyGroup' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003' has invalid child element '_SolutionProjectConfiguration' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'. List of possible elements expected: 'Property' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'. MSBUILD : Schema validation error MSB4045: Project is not valid. The element 'ItemGroup' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003' has invalid child element '_SolutionProjectProjects' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'. List of possible elements expected: 'Item' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'. MSBUILD : Schema validation error MSB4042: Stopping because of syntax errors in project file.

命令行命令我使用的是:

msbuild lux.sln /nologo /val /property:Configuration=Release;Prlatform=x64 target:rebuild 

所以我有2个问题:

  1. 是什么上述错误是什么意思?
  2. 我该如何解决这个问题?

回答

1

尝试:

msbuild lux.sln /nologo /p:Configuration=Release /p:Platform=x64 /t:rebuild 

/VAL正在验证对默认模式的项目。由于您修改了项目属性,因此会引发错误。验证开关本质上是为了捕获这种类型的情况,只有在整个项目有效时才绝对想继续构建。