0

我在 DotNet 2.0 应用程序中使用 DotNet 4.0 DLL 时遇到问题,谷歌搜索该问题显示了一个合适的解决方案:COM

无论如何,我现在正在尝试这样做,但是当我在我的应用程序中添加引用时,我不断收到以下错误(引用是tlb):

ActiveX 类型库“MyLib.tlb”是从 .NET 程序集中导出的,不能作为参考添加。请直接参考大会。

我错过了什么吗?它在许多网站上声明此选项应该有效: Example1Example2

另一方面,它在微软的一个旧链接上声明这个选项是不可能的“按设计”

有任何想法吗?提示?

家我不是混淆的事情。

谢谢你。

4

1 回答 1

3

因为它会导致在已经加载 .NET2 运行时的进程中加载​​ .NET4 运行时——这在设计上是不可能的!.NET 4 中引入了对在一个进程中混合 .NET 版本的支持。

如果您真的需要完成这项工作:

  • 制作一个使用该 .NET4 DLL 的本机进程外 COM 服务器
  • 然后从您的 .NET2 进程中使用该服务器(而不是直接使用 .NET4 DLL!)

备注 - 在看到您对 EF4 的评论后:

我强烈建议将您的 .NET2 应用程序转换为 .NET 4 - 其他任何事情都将是真正的维护噩梦!

于 2012-06-08T08:38:03.217 回答