如何在.Net 2.0应用程序中引用a.Net 4.0 COM

时间:2012-06-08 08:30:46

标签: c# dll .net-4.0 com .net-3.5

我有一个问题是在DotNet 2.0应用程序中使用DotNet 4.0 DLL,谷歌搜索问题显示single suitable solution: COM

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

  

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

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

另一方面,它在old link of microsoft上声明这个选项不可能“按设计”

任何想法?提示?

首页,我不会混淆任何事情。

谢谢。

1 个答案:

答案 0 :(得分:3)

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

如果你真的需要这项工作:

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

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

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