将.NET Framework 4.6.2迁移到.NET Standard 2.0

SRI*_*ULA 5 .net-core .net-standard

我们有一组在.NET Framework 4.6.2下创建的类库,我们想将这些库移入.NET Core 2.0或.NET Standard 2.0

我们有以下几种方式,

  • 创建一个新项目并复制代码。
  • 通过编辑CSPROJ文件来转换现有项目。

哪种库更适合迁移库,并且.NET Standard将影响.NET核心上的性能。

是否有其他选择来迁移这些集合。

Mar*_*und 5

我认为可能对.NET Standard 2.0实际上是一个误解。

创建.NET Standard是为了跨多个不同的.NET 实现创建一个通用的API表面

这些实现包括.NET Framework,Mono,.NET Core等。从这个意义上讲-.NET Core是.NET的版本,.NET Standard和.NET Core之间没有连接。

如果创建.NET Standard库,则它基本上是平台无关的,这意味着它可以在支持目标版本的.NET的任何.NET实现上运行。这意味着,如果将现有的.NET Framework 4.6.2库升级到.NET Standard,则只能获得该库的可移植性,但是,如果仍然在面向.NET Framework的应用程序中使用该库,则不会看到性能提升,因为该库仍将在相同的.NET Framework上运行。

如果将整个应用程序本身移植到.NET Core(3.0推出后将更加容易),则肯定会看到性能提升,因为库随后将在.NET Core上运行。

至于移植-通常最简单的方法是创建一个空库,然后将现有类手动复制到新库中,然后安装所有必需的NuGet软件包。

  • 假设OP知道所有这一切,那么此答案绝不会回答所提出的问题。 (2认同)
  • 这并不能回答问题。“这意味着如果您将现有的 .NET Framework 4.6.2 库升级到 .NET Standard,您只能获得该库的可移植性”。是的,这就是这个问题所要寻找的。 (2认同)