2012-05-18 64 views
0

當.NET服務包發佈時,一些新的類可以用新的方法擴展。如何強制VisualStudio檢查.Net Service Pack兼容性?

其中一種方法是WaitHandle.WaitOne(int timeout)方法,該方法僅在.NET 2.0 SP2以後才存在。

當開發人員編寫代碼時,他們有時(特別是對於他們知道的東西來說)並不需要重新編寫MSDN代碼,或者看起來不夠徹底,只是使用intellisense從下拉框中選擇方法.Net 2.0 SP2安裝)。

程序然後可以在沒有SP2的Framework 2.0的計算機上拋出MethodMissingException。事先了解此類不兼容情況可能有助於避免此問題。

是否有可能以某種方式強制Visual Studio(2010)驗證Framwork的Service Pack的兼容性級別?也許有插件嗎? 我希望Resharper可以做到這一點,但它似乎不能。

編輯: 我想的是,如果代碼應該是淨SP1兼容,則編譯器或插件會,如果他試圖用僅存SP2的方法或類警告開發者。

感謝

+0

你是什麼意思:驗證Framwork Service Pack的兼容性級別? – w0051977

+0

我的意思是如果代碼應該與.Net SP1兼容,那麼編譯器或插件會警告開發者,如果他試圖使用只存在於SP2中的方法或類。 – mistika

+0

這是一個錯誤。沒有辦法保護自己免受它。 .NET 4有特定的對策來防止這種情況發生,參考程序集不再是運行時程序集的副本。 –

回答

0

當你編譯.NET應用程序爲目標的框架的特定版本,應用程序將無法在所有在舊版本上運行。

如果您嘗試在具有較舊/較新版本框架的計算機上編譯.NET應用程序,該框架中缺少方法,編譯器將捕獲此類錯誤。

你能解釋一下你想達到什麼嗎?

+0

我試圖讓開發人員在執行代碼簽入之前檢查代碼是否與.Net-2.0-No-Service-Pack兼容。 – mistika