我遇到了一个针对 .NET 3.5 的程序集的奇怪问题。通过添加引用/浏览到 DLL 包含此程序集时 - 它抱怨:
“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 互操作 - 可能是这样吗?该项目已从 VS 08 移至 VS 10 - 但同样,仍以 .NET 3.5 为目标。我验证了参考下列出的所有程序集都针对正确的 CLR 版本 [2]。
将目标项目升级到 .NET 4 确实消除了这个问题——但这不是我们目前能够做的事情。
- 我还应该注意,通过 References/Project [相同的解决方案] 包含它似乎确实有效 - 当将 DLL 降级到 .NET 3.0 时。[这可能不完全准确 - 正在测试很多东西]
在这一点上我没有想法。