2010-11-05 51 views
5

我正在創建一個批處理腳本,它將獲得最新版本的應用程序代碼,然後使用msbuild構建它。一切工作,直到msbuild部分。下面是運行的MSBuild行:所有的地方MSBuild從命令行錯誤 - 需要參考System.Xml

C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe "code/Solution.sln" /p:Configuration="Debug" 

而且事情的錯誤 - 所有的錯誤這樣說:

C:\code\project1\codefile1.vb(882): error BC30009: Reference required to assembly 'System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' containing the implemented interface 'System.Xml.Serialization.IXmlSerializable'. Add one to your project. 

一切都建立沒有錯誤從從Visual Studio 2008。這是怎麼回事這裏?

+0

不知道更多關於您的解決方案,這很難說。它引發的第一個錯誤是什麼? – 2010-11-05 14:14:58

+0

這是第一個錯誤,最後一個錯誤,以及兩者之間的每個錯誤。組裝所需的參考「System.Xml,Version = 2.0.0.0 ...' – 2010-11-05 15:05:33

+0

您是否在與VS正確構建的計算機上運行腳本?你的vbproj文件中是否有System.Xml依賴項? – 2010-11-05 17:03:37

回答

6

這大概是什麼錯誤最詳盡的描述:

MSBuild Can't Find Secondary References

Resolving Binary References in MSBuild

簡而言之: 你的項目引用組裝X. X包含一個類,從實現接口程序集Y. 您的項目沒有引用Y,所以MSBuild失敗。 工作室有點聰明,可以找到第二級參考。

+0

好的答案,我想知道這種行爲差異是怎麼回事...... – 2012-04-19 15:31:32

+0

好的答案。當我構建調試配置時VS編譯正常,但是當我構建發佈配置時,我得到了錯誤。 – 2013-04-26 19:32:50

2

正如它所說的那樣,並將對System.Xml的引用添加到項目中。

項目 - >添加引用