2010-07-14 36 views
1

我正在尋找一個工具,可以告訴我.NET程序集將在什麼樣的框架下工作。或者更具體地說,BCL(基類庫)對其中的方法進行版本化。確定.NET程序集框架依賴關係的工具

是什麼觸發了我的: 今天我得到了一個針對我們正在製作的應用程序的錯誤報告,基本上這樣說:「您使用的是WaitOne(Int32),但只適用於.NET 3.5 SP1,而不是純粹的3.5;改用WaitOne(Int32,Boolean)「。用戶的確是對的。 WaitOne在.NET中一直存在,但只有一個int的特定重載被引入到1.0,2.0等的服務包中。因此,我們的應用程序在例如一個普通的3.5框架安裝。坦率地說,我們沒有測試過。

而不是在安裝了各種框架的機器上測試/加載應用程序,這並不是很容易,因此我正在尋找一種工具,可以簡單地告訴我什麼官方發佈框架版本的方法在給定的程序集將工作在 - 或者更有趣的是,它會在什麼版本而不是下工作,以及違規方法是什麼。

+0

「.Net反射器」可能在這裏有一些幫助,對於免費贈品它對各種事情都很有用。 – 2010-07-14 21:50:49

+0

反射器似乎沒有用於這種分析的插件,但它仍然是一個很好的建議。 – 2010-07-14 22:33:57

+0

唉,廢話。我只是閱讀這個頁面,並且一定是意外地低估了它,但是在4個小時之後,它就被鎖定了。對不起。 – 2011-04-28 20:56:14

回答

0

我個人不知道任何可以分析.NET程序集的工具,並告訴您哪些方法對特定框架版本可用/不可用。

我認爲你可以做的最好的是在框架的各種配置下運行代碼。例如,您可以嘗試使用VMWareHyper-V來創建安裝了不同版本的.NET框架的虛擬機。可能值得一試。除此之外,您將不得不手動查看您的.NET代碼並手動查看它,與MSDN交叉引用代碼以確定某個方法是否適用於特定的框架版本。

我會對其他人的答案感興趣 - 如果有一個工具可以分析.NET代碼來確定不同版本的有效性,那麼這是一個殺手級應用程序! :)

+0

我欣賞這個建議,並且實際上有很多用於測試的圖片。但是爲所有框架版本及其所有服務包執行此操作只需要過多的手動工作。我寧願花時間自己寫這個工具:-) – 2010-07-15 20:52:33