2012-11-14 180 views
1

我有一個.net 4.0項目,我想在其中引用.net 2.0程序集。正如我從this文章中所理解的,.net 2.0程序集將在4.0運行時加載,並且向後兼容性不能保證。有沒有辦法在這種情況下並排強制進程並加載2.0運行時?在.net 4.0應用程序中引用.net 2.0程序集

回答

2

進程並行版本控制僅支持獨立運行而無需共享數據的代碼。特別是對於加載CLR以執行託管代碼的本機代碼。它是CLR版本控制問題的解決方案,一旦像Explorer那樣的非託管程序加載CLR,比如說支持使用.NET編寫的外殼擴展,那麼CLR版本就會被擴展程序要求的任何版本選中。如果另一個擴展需要更高版本的CLR,那麼效果不佳。 .NET 4的並行版本功能解決了這個問題,每個擴展都有自己的CLR。不需要共享數據,這些擴展並不知道彼此。

很明顯,這不是你想要做的解決方案。微軟花費了大量精力使.NET 4.0與以前的.NET版本儘可能兼容,並且加載.NET 2.0程序集當然得到很好的支持。最重要的是,他們確實利用這個機會修復了一些修復可能會破壞舊代碼的舊bug。從技術上講,你的2.0代碼有可能依賴於這樣一個bug的行爲,但它不太可能。你只需要重新測試你的代碼。

相關問題