2011-04-14 144 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正在驗證對默認模式的項目。由於您修改了項目屬性,因此會引發錯誤。驗證開關本質上是爲了捕獲這種類型的情況,只有在整個項目有效時才絕對想繼續構建。