我可以使用 .NET 4 代码协定并保持与 .NET 3.5 兼容吗?

发布于 2024-08-28 02:09:38 字数 182 浏览 5 评论 0原文

.NET 4 引入了代码契约作为一项新功能。我想使用 CC,但提供仍然可以在 3.5 SP1 中运行的文件。这可能吗?我可以只使用部分新功能吗?显然,CC 可以只进行静态检查而不包含在二进制文件中,这是正确的吗?

我知道 CC 可作为单独的模块用于 3.5,如果我无法使用 4 版本的 CC,这是一个可行的解决方法吗?功能集有区别吗?

.NET 4 introduced Code Contracts as a new feature. I'd like to use CC, but provide files that can still run in 3.5 SP1. Is that possible? Can I only use parts of the new functionality? Apparently it is possible to have CC only do static checks without being included in the binary files, is that correct?

I'm aware CC was available for 3.5 as separate module, is this a feasible workaround in case I can't use the 4 version of CC? Is there a difference in the feature set?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

長街聽風 2024-09-04 02:09:38

我想使用CC,但需要提供文件
仍然可以在 3.5 SP1 中运行。是那个
可能吗?

您不能使用 .NET 4.0 CC,但可以使用 Microsoft.Contracts.dll,它是 3.5 CC 程序集。

显然可以有CC
只进行静态检查而不进行
包含在二进制文件中的是
正确吗?

是的。高级版包括静态检查器,但您需要 VS2008 Team System 或 VS2010 Premium/Ultimate 才能使用 Code Contracts Premium Edition。

我知道 CC 在 3.5 版本中可用
单独的模块,这是可行的吗
万一我无法使用 4 的解决方法
CC 版本?

是的,它仍然可用。从 http://msdn.microsoft.com/en-us/devlabs 获取它/dd491992.aspx

I'd like to use CC, but provide files
that can still run in 3.5 SP1. Is that
possible?

You can't use .NET 4.0 CC but you can use Microsoft.Contracts.dll which is the 3.5 CC assembly.

Apparently it is possible to have CC
only do static checks without being
included in the binary files, is that
correct?

Yes. The premium edition includes the static checker, but you need VS2008 Team System or VS2010 Premium/Ultimate to use Code Contracts Premium Edition.

I'm aware CC was available for 3.5 as
separate module, is this a feasible
workaround in case I can't use the 4
version of CC?

Yes it is still available. Get it from http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx

゛时过境迁 2024-09-04 02:09:38

是的,您可以将代码协定与 .NET 3.5 一起使用(但明智的做法是使用 Visual Studio 2010 进行开发,以便获得工具支持)。只需从代码合同网站下载 MSI,安装并复制将 C:\Program Files (x86)\Microsoft\Contracts\Contracts\v3.5 中的 DLL 添加到您的解决方案,并在所有项目中显式引用 Microsoft.Contracts.dll利用它。

如果您绑定的是 2010 年之前的 Visual Studio 版本,或者不支持代码协定的 2010 版本,则可以执行 ccrewrite.execcrefgen.exe< /code> 和 ccdocgen.exe(位于 C:\Program Files (x86)\Microsoft\Contracts\Bin)作为 构建后事件

Yes, you can use Code Contracts with .NET 3.5 (but you're wise to develop with Visual Studio 2010 so you get tooling support). Just download the MSI from the Code Contracts web site, install and copy the DLLs from C:\Program Files (x86)\Microsoft\Contracts\Contracts\v3.5 to your solution and reference Microsoft.Contracts.dll explicitly in all projects that make use of it.

If you're bound to an earlier version of Visual Studio than 2010, or a version of 2010 that doesn't have Code Contract support, you can execute ccrewrite.exe, ccrefgen.exe and ccdocgen.exe (located in C:\Program Files (x86)\Microsoft\Contracts\Bin) from the command line as a post build event.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文