簡體   English   中英

我可以將對System.Core.dll(.net 3.5)的引用添加到.net 2.0應用程序並使用它嗎

[英]Can I add a reference to System.Core.dll (.net 3.5) to a .net 2.0 application and use it

我可以將對System.Core.dll(.net 3.5)的引用添加到.net 2.0應用程序並使用它嗎

我試圖通過引用System.Core.dll使用僅在.net 3.5中可用的TimeZoneInfo類

或者,它們是.net 2.0(或自定義類)中TimeZoneInfo的替代者嗎?

不,你真的不應該 必須在目標計算機上安裝3.5,否則您將在正在運行的程序中遇到無法預料的行為。 包括System.Core.dll在內的3.5框架取決於CLR 2.0 SP1中添加的若干錯誤修復/功能(這是3.5框架的一部分)。 如果您在未打補丁的CLR上運行,則您實際上將在運行未經測試的代碼,並且可能會遇到幾個錯誤。

Scott Hanselman 寫了一篇博客文章,描述了如何在2.0框架上運行MVC的早期版本。 他指出,System.Core程序的依賴性可能會是OK,只要你是非常小心,不要打電話給依賴於CLR例程的任何的特定功能3.0+(例如,LINQtoSQL)。

正確地貼滿了博客文章與免責聲明,它被支持,它很可能已經不適合你的工作,但他它得到的工作,如果可以的話,那么耶為您服務。

我不確定是否可以使用System.Core.dll來執行此操作,但是我們之前已經使用.net 2.0應用程序的Linq2Sql dll來執行此操作。 .net 3.5將相同版本的CLR與基於.net 2.0運行時建立的新程序集一起使用。 如果可以獲取所有依賴項,則它可能會起作用。 就像我說的那樣,這對我們使用Linq2Sql dll有用,但不能保證在所有情況下都適用。 (例如,您可能無法使WPF在Windows 2000上運行,但是您可能能夠使Linq to Objects正常工作)

您可以執行此操作,當前在工作工具上也做同樣的事情-還可以利用TimeZoneInfo東西。 只要多數民眾贊成在使用,您就不會遇到任何問題(至少我沒有)。

但是,我不太確定將System.Core與您的應用捆綁在一起的合法性。 據我了解,你是不允許的。

我最終將Mono中的一個用於使用它的工具。

.net 3.5在.net 2.0運行時上運行。 因此,您應該能夠使用它。但是引用單個dll會導致意外行為,因為您不知道system.core.dll的所有依賴項。...我建議不要這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM