2011-05-04 153 views
1

我有一個建立在.NET Framework v4.0上的類庫。是否有可能在v3.5框架的控制檯或Web應用程序中添加此參考?框架兼容性

回答

3

.NET 4.0中的元數據格式已更改。 CLR的第2版,即當你將任何版本的.NET定位在2.0和3.5之間時所得到的版本不知道如何閱讀它。同樣的事情發生在1.1和2.0之間。 CLR的第4版知道如何在沒有問題的情況下閱讀舊格式。只要你有一個非編譯的框架程序集引用版本4,那麼你的就有來使用.NET 4.0。

重定向現有的EXE項目不需要引用該程序集是可能的。將.config文件添加到項目並粘貼:

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0"/> 
</startup> 
2

我會建議否,因爲他們使用完全不同的CLR。通常,向後兼容性=是,轉發兼容性=否。

0

我剛剛創建了一個Framework 3.5控制檯應用程序,並添加了一個4.0 dll的引用,我已經得心應手了。

編譯器對此根本不滿意。 (空)程序運行一次(控制檯出現,然後關閉),然後有40個警告到達錯誤列表,與版本問題有關,並且根本無法訪問dll的命名空間。

我打算同意Sasquiha的看法,並說這看起來像一個不行。