有谁知道为什么在 CLR2 (.Net 3.5) 下编译的 C# 创建的 COM 库在仅与 CLR4(.Net 4) 一起使用时不起作用?COM 的 CLR2 中的 CLR4 中缺少什么?
我们在 app.config 中使用适当的启动来让 C# 在 CLR4/.Net 4 下运行:
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
在尝试创建我们的 COM 接口之前,所有 C# 的东西都有效。它提供了以下例外:
无法加载运行时。(来自 HRESULT 的异常:0x80131700)
当我们尝试从 C++ 创建 COM 接口时,我们会遇到同样的问题。
一旦我们安装了 CLR2 (.Net 3.5),所有的 COM 东西都开始工作了。我们想知道发生了什么。