2010-06-15 48 views
4

我有一个在我的机器(和生产服务器)上运行良好的项目。
这是一个运行C#3.5的VS2010项目。
当让我的构建服务器构建解决方案时,它无法解决我的第三方DLL的几个问题。 错误消息:构建在TFS 2010上并解决相关性的问题

C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets(1360,9): 警告MSB3268:主要参考 “Third.Party.Assembly , 版本= 50.11.2.0,文化=中立, 公钥= 0561a7c6dbd6f0ea, ProcessorArchitecture用于= MSIL “无法 得到解决,因为它的框架组件 间接 依赖” Microsoft.VisualBasic.Compatibility, 版= 8.0 .0.0,文化=中立, PublicKeyToken = b03f5f7f11d50a3a“其中 无法在目前的 目标框架中解决。 “.NETFramework,Version = v3.5”。为了 解决此问题,请删除 参考“Third.Party.Assembly, 版本= 50.11.2.0,文化=中立, 公钥= 0561a7c6dbd6f0ea, ProcessorArchitecture用于= MSIL”或 重新定位你的应用程序到 框架的版本,包含 “Microsoft.VisualBasic.Compatibility, Version = 8.0.0.0,Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a”。 [d:\构建\ 3 \ mySolution.sln]

一切编译和我的机器上运行的很好,但是在构建服务器似乎挣扎。
我认为Third.Party.Assembly是用VB.net编写的。
由于程序集是第三方,我不能删除对“Microsoft.VisualBasic.Compatibility”的引用,并且因为我没有在我的计算机上收到任何警告,实际上我是否正在运行v3.5?

有什么建议吗?

/Jimmy

回答

1

如果您将您的项目手动运行到构建服务器上,它会运行吗?根据错误信息,我会确保您在生成服务器计算机上安装了最新的.net框架并再次尝试。如果这不起作用,请尝试在构建服务器上安装VS2010,以使构建正常运行,直到您确切知道您错过了哪些程序集。

+0

我通过从项目中删除这些依赖关系来解决它。他们实际上不需要。 =) – 2010-11-02 11:51:11

1

所以,我在上传转换的VS2005项目中遇到了这个问题......问题在于MS从未拥有64位版本的VisualStudio.Compatability DLL。我们的问题是,我们的目标是'任何'CPU,并在新的W2008R2服务器上构建,因此它使用的是64位版本的.NET 4.0多目标包。

在'3'下'Process'标签下的构建属性。高级'有'MSBuild平台'。将该值更改为“X86”,它可能会工作...假设当然你不依赖于任何64位库...