我有一个在我的机器(和生产服务器)上运行良好的项目 这是一个运行C#3.5的VS2010项目 当让我的构建服务器构建解决方案时,它无法解决我的第三方dll的问题。 错误讯息:
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,版本= V3.5" 。至 解决此问题,删除 参考文献“Third.Party.Assembly, 版本= 50.11.2.0,文化=中立, 公钥= 0561a7c6dbd6f0ea, processorArchitecture = MSIL“或 将您的申请重新定位到 包含的框架版本 “Microsoft.VisualBasic.Compatibility, 版本= 8.0.0.0,文化=中立, 公钥= b03f5f7f11d50a3a”。 [d:\构建\ 3 \ mySolution.sln]
一切都在我的机器上编译和运行,但构建服务器似乎很难 我认为Third.Party.Assembly是用VB.net编写的 由于程序集是第三方,我无法删除对“Microsoft.VisualBasic.Compatibility”的引用,因为我的计算机上没有收到任何警告,我真的应该运行v3.5吗?
有什么建议吗?
/麦
答案 0 :(得分:1)
如果您手动将项目放在构建服务器上,它会运行吗?基于错误消息,我将确保您在构建服务器计算机上安装了最新的.net框架并再次尝试。如果这不起作用,请尝试在构建服务器上安装VS2010,只是为了让构建运行,直到您确切地知道缺少哪些程序集。
答案 1 :(得分:1)
所以,我在上转换的VS2005项目中遇到了这个问题......问题是MS从未有过64位版本的VisualStudio.Compatability DLL。我们的问题是我们的目标是“任何”CPU,并在新的W2008R2服务器上构建,因此它使用的是64位版本的.NET 4.0多目标包。
在'3下''Process'选项卡下的构建属性中。高级'有一个'MSBuild平台'。将该值更改为“X86”并且它可能会起作用...当然假设您不依赖于任何64位库...