【问题标题】:What happens if a .NET 1.1 and .NET 2.0 COM object are used in the same process?如果在同一进程中使用 .NET 1.1 和 .NET 2.0 COM 对象会发生什么?
【发布时间】:2010-06-30 19:48:59
【问题描述】:

如果一个进程同时使用进程内服务器加载 .NET 1.1 COM 对象和 .NET 2.0 COM 对象,会发生什么情况?这个配置有什么问题吗?还是让其中一个对象成为进程外服务器更安全?

【问题讨论】:

  • 或者,您可以将它们都升级到 .NET 3.5 或 4.0。
  • 猫和狗,生活在一起......大众歇斯底里!

标签: .net interop com-interop side-by-side


【解决方案1】:

这取决于哪个先加载,因为(在 .NET 4 之前)您只能将一个版本的运行时加载到进程中。要么先加载 .NET 1.1 对象,然后再加载 .NET 2.0 对象;或者首先加载 .NET 2.0 对象,然后 .NET 1.1 对象有望工作。

您可能应该考虑升级 .NET 1.1 对象以在 2.0 上运行。如果您不这样做,那么您的应用程序将失败,或者 .NET 1.1 对象将被加载到 2.0 中。

【讨论】:

  • 是的,我可以升级 my 组件,但我不知道还有什么正在使用...为了安全起见,我可能会选择进程外。
  • 我过去遇到过这个问题,组件在 COM+ 中。如果我们首先调用 .NET 2.0 组件,那么每个新调用(.NET 1.1 或 .NET 2.0)都会起作用。但是,如果 .NET 1.1 组件是第一个组件,那么对 .NET 2.0 组件的调用将失败,因为运行时无法加载这些库(消息“找不到程序集”)。
猜你喜欢
  • 2010-09-08
  • 2011-05-01
  • 2018-09-16
  • 1970-01-01
  • 1970-01-01
  • 2011-08-21
  • 1970-01-01
  • 1970-01-01
  • 2011-07-19
相关资源
最近更新 更多