.NET 4推出了Code Contracts作为一个新特性。我想使用CC,但希望生成的文件可以在3.5 SP1中运行。这是否可行?我是否只能使用部分新功能?显然,有可能让CC仅执行静态检查而不包含在二进制文件中,是正确的吗?
我知道CC对于3.5来说是一个单独的模块,如果我不能使用4版本的CC,这是否是一种可行的解决方法?功能集有区别吗?
.NET 4推出了Code Contracts作为一个新特性。我想使用CC,但希望生成的文件可以在3.5 SP1中运行。这是否可行?我是否只能使用部分新功能?显然,有可能让CC仅执行静态检查而不包含在二进制文件中,是正确的吗?
我知道CC对于3.5来说是一个单独的模块,如果我不能使用4版本的CC,这是否是一种可行的解决方法?功能集有区别吗?
我想使用CC,但需要提供文件,以便在3.5 SP1中仍然可以运行。这是可能的吗?
你不能使用.NET 4.0的CC,但可以使用Microsoft.Contracts.dll作为3.5 CC程序集。
显然,可以让CC只进行静态检查,而不包含在二进制文件中,这是正确的吗?
是的。高级版包括静态检查器,但您需要VS2008 Team System或VS2010 Premium / Ultimate才能使用Code Contracts高级版。
我知道CC作为独立模块可用于3.5,如果我不能使用CC的4个版本,这是可行的解决方法吗?
是的,它仍然可用。从http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx获取它。
C:\Program Files (x86)\Microsoft\Contracts\Contracts\v3.5
复制到你的解决方案,并在使用它的所有项目中明确引用Microsoft.Contracts.dll
。ccrewrite.exe
、ccrefgen.exe
和ccdocgen.exe
(位于C:\Program Files (x86)\Microsoft\Contracts\Bin
)作为后期构建事件。