命令行错误导致的MSBuild - System.Xml所需的引用

Bra*_*ery 5 msbuild

我正在创建一个批处理脚本,它将获取应用程序代码的最新版本,然后使用msbuild构建它.一切都有效,直到msbuild部分.这是运行msbuild的行:

C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe "code/Solution.sln" /p:Configuration="Debug"
Run Code Online (Sandbox Code Playgroud)

并且整个地方都出现了错误 - 所有错误都表示如下:

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.
Run Code Online (Sandbox Code Playgroud)

Visual Studio 2008中的所有内容都没有错误地构建.这里发生了什么?

Boh*_*nda 6

这可能是关于出错的最详细描述:

MSBuild无法找到辅助引用

在MSBuild中解析二进制引用

简而言之:您的项目引用程序集X.X包含一个类,它实现程序集Y的接口.您的项目不引用Y,因此MSBuild失败.Studio的功能更加智能,并找到第二级参考.