我应该如何升级使用代码契约的旧C#项目?

时间:2018-08-21 22:30:04

标签: c# .net .net-core code-contracts

我正在从事一个大型C#项目,该项目广泛使用代码协定并针对.NET Framework(3.5)的较早版本进行编译。这个项目是一个库,我也正在开发其他应用程序,将其作为依赖项使用。我想将.NET Core 2.1用于这些新项目。我相信我的选择如下:

  1. 将该库从.NET Framework 3.5升级到.NET Framework 4.6.1+,我相信它将使它与.NET Standard 2.0兼容,从而可用于.NET Core 2.1项目。
  2. 使用新的.NET Core工具链升级该库,以根据.NET Standard 2.0显式构建。

我有以下问题:

  1. 看起来像code contracts are dead and unsupported in .NET core;这意味着如果我选择Option(2),我将无法运行代码契约分析器,对吗?
  2. 如果我使用选项(1),分析器仍然可以运行,但是我必须切换到Igor Beck的非官方NuGet软件包per this answer来支持.NET 4.6.1+,对吗?

理想情况下,我想保留代码契约的好处,尽管由于不支持它们,所以我认识到随着时间的流逝,它将继续使库版本受阻。

0 个答案:

没有答案