2010-06-04 143 views
4

我遇到了一个针对.NET 3.5的程序集的奇怪问题。当通过添加引用/浏览到DLL包含此程序集 - 它抱怨:VS 2010带有3.5程序集的.NET Framework问题抱怨它需要更高版本的.NET框架

“MyAssembly.dll”或其依赖项之一,需要比项目中指定的更高版本的.NET Framework。您可以通过单击“项目”菜单上的“属性”来更改.NET Framework目标,然后在“.NET Framework”下拉框中选择一个新目标。 (在Visual BVasic中,通过单击“高级编译器选项...”按钮,它位于“编译”选项卡上。)是否仍想在项目中添加对“MyAssembly.dll”的引用?

似乎有不被任何没头没脑这个错误 - 我们已经尝试了“明显的东西

与使用该DLL大会是.NET 3.5 的DLL是。 NET 3.5。 所有正在使用的程序集都是.NET 3.5。什么都不使用.NET 4.0 [AFAIK]

我可以检查/做什么?DLL中有一些COM Interop - 可以 该项目已从VS 08移至VS 10 - 但仍是目标.NET 3.5。 我验证了参考下列出的所有程序集均以C LR版本[2]。

将目标项目升级到.NET 4的确消除了这个问题 - 但这不是我们目前能够做到的。

  • 我还应该注意,在将DLL降级到.NET 3.0时,通过References/Project [同样的解决方案]包含它似乎工作正常。 [这可能不完全准确 - 正在测试不少事情]

我在这一点上没有任何想法。

+0

什么是使用.NET 3.5程序集的代码的框架版本?它是.NET 4.0还是.NET 3.5? – 2010-06-04 01:33:25

+0

.NET 3.5。一切都是。NET 3.5。 – 2010-06-04 01:41:18

回答

2

事实证明,这个问题非常奇怪......用Janus Controls .NET 3.5组件..看起来不像其他人那么好。

截至今天,即使该解决方案构建在.NET 3.5和VS 2008中,Janus Controls [GridEX]也不适用于.NET 3.5,...仅适用于.NET 4项目。

1

我假设您已经使用Reflector或ILDASM来检查导致问题的程序集的清单。

您拥有的一个选择是无视这条消息并添加参考。然后尝试在程序集中使用任何类型。你应该得到一个更完整的错误信息。

例如,这是我在我的电脑得到的错误,当我尝试引用的目标是更高的框架类库:

主要参考“ClassLibrary2”无法得到解决,因为它有一个间接的依赖于.NET Framework程序集“mscorlib,版本= 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089”,它具有比当前目标框架中的版本“2.0.0.0”更高的版本“4.0.0.0”。 ConsoleApplication1

希望能帮助查明问题。

+0

您的解决方案工作完善。我遇到了更糟糕的情况,我无法在我的项目中添加WatIn 2.0的dll文件,因为它的目标是3.5 .Net framwork。 – 2013-08-25 16:02:55

相关问题