我正在C#中編寫代碼庫,並且測試PC沒有安裝正確的.NET 3.5 Service Pack以運行代碼(同一問題如在此發生:Exception is occuring only on my machine: Method not found: WaitHandle.WaitOne(Int32))。我想知道是否有一個靜態代碼分析工具可以在我的代碼中運行,它會告訴我每個單獨模塊(或者程序集)所需的.NET的最低版本。檢查運行我的代碼需要什麼版本的.NET
謝謝。
我正在C#中編寫代碼庫,並且測試PC沒有安裝正確的.NET 3.5 Service Pack以運行代碼(同一問題如在此發生:Exception is occuring only on my machine: Method not found: WaitHandle.WaitOne(Int32))。我想知道是否有一個靜態代碼分析工具可以在我的代碼中運行,它會告訴我每個單獨模塊(或者程序集)所需的.NET的最低版本。檢查運行我的代碼需要什麼版本的.NET
謝謝。
項目屬性 - >應用程序 - >目標框架。
,我不知道有任何靜態分析工具,但這裏是我發現的基礎上,MSDN文檔和一些博客文章:
System.Data.Entity.dll
或使用ClickOnce - .NET 3.5 SP1System.Data.Entity.dll
,而不是一個參考使用ClickOnce - .NET 3.5 RTM備註:
我相信.NET 3.5 SP1是唯一增加了重要功能的服務包,所以它是唯一一個會導致MissingMethodException
問題的服務包。例如,這意味着3.0 RTM,3.0 SP1和3.0 SP2具有相同的公共API。我還沒有找到明確的確認,但「.NET中有什麼新東西」文檔僅涵蓋2.0/3.5/3.5SP1/4.0,所以這是一個合乎邏輯的結論。
VS 2008 SP1有一些關於「.NET Framework 3.5」的錯誤規則(試圖僅在實際使用時才瞄準SP1),但VS2010只支持定位.NET 3.5 SP1。
來源:
這是更多關於檢查哪個版本一塊的C ode需要注意service pack,它不能作爲目標對象,但是在編譯時沒有靜態檢查兼容性,而是在運行時出現MissingMethodException錯誤... – Pete 2010-09-01 09:38:45