【发布时间】:2011-05-05 14:40:31
【问题描述】:
我正在创建一个批处理脚本,它将获取应用程序代码的最新版本,然后使用 msbuild 构建它。一切正常,直到 msbuild 部分。这是运行 msbuild 的行:
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 构建的所有内容都没有错误。这里发生了什么?
【问题讨论】:
-
在不了解您的解决方案的情况下很难说。它抛出的 first 错误是什么?
-
这是第一个错误,最后一个错误,以及介于两者之间的每个错误。汇编'System.Xml,Version = 2.0.0.0 ...'所需的参考
-
您是否在使用 VS 正确构建的同一台计算机上运行脚本?您的 vbproj 文件中有 System.Xml 依赖项吗?
-
它在 Visual Studio 的同一台机器上构建良好。我确实注意到 vbproj 文件中没有引用 System.Xml 的内容。
-
也许您可以在批处理文件中明确指定 msbuild 的目标?此外,还有一种方法可以让 msbuild 变得冗长:blogs.msdn.com/b/msbuild/archive/2005/09/29/475157.aspx。有了这个,您可能能够深入了解 msbuild 正在做什么以及您期望它做什么。
标签: msbuild