2012-05-18 39 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