2010-06-30 20 views
1

如果一個進程同時加載一個.NET 1.1 COM對象和一個.NET 2.0 COM對象,兩者都使用進程內服務器,會發生什麼?這個配置是否有任何問題?或者讓一個對象成爲一個進程外服務器會更安全?如果在同一個進程中使用.NET 1.1和.NET 2.0 COM對象,會發生什麼情況?

+0

或者,您可以將它們都升級到.NET 3.5或4.0。 – 2010-06-30 19:51:01

+0

貓和狗,共同生活......大規模歇斯底里! – 2010-06-30 20:25:30

回答

5

它取決於哪個被首先加載,因爲(在.NET 4之前),只能將一個版本的運行時加載到進程中。 .NET 1.1對象首先加載,並且.NET 2.0對象會崩潰;或者首先加載.NET 2.0對象,並希望.NET 1.1對象有效。

您應該考慮將.NET 1.1對象升級到2.0版。如果你不這樣做,那麼無論你的應用程序會失敗,還是.NET 1.1對象都會被加載到2.0。

+0

是的,我可以升級_my_組件,但我不知道還有其他什麼東西在使用中......我可能只是爲了安全而走出進程。 – bdonlan 2010-06-30 22:24:14

+0

我以前遇到過這個問題,使用COM +中的組件。如果我們先調用一個.NET 2.0組件,那麼每個新的調用(.NET 1.1或.NET 2.0)都可以工作。但是,如果.NET 1.1組件是第一個,那麼調用.NET 2.0組件將失敗,因爲運行時無法加載這些庫(消息「無法找到組件」)。 – Fabio 2011-02-14 16:54:10

相關問題