我们有一组在.NET Framework 4.6.2下创建的类库,我们想将这些库移入.NET Core 2.0或.NET Core标准2.0
我们有以下几种方式,
哪种方法更好地迁移库,并且.NET Standard会影响.NET核心上的性能。
是否有其他选择来迁移这些集合。
答案 0 :(得分:4)
我认为对.NET Standard 2.0实际上是一个误解。
.NET Standard 是为了在.NET的多个不同实现中创建通用API表面而创建的。
这些实现包括.NET Framework,Mono, .NET Core 等。从这个意义上讲-.NET Core是.NET的版本,.NET Standard和.NET Core之间没有连接。
如果您创建.NET Standard库,那么它基本上是与平台无关的,这意味着它可以在支持.NET Standard版本的任何 .NET实现上运行定位。这意味着,如果将现有的.NET Framework 4.6.2库升级到.NET Standard,则只能获得该库的可移植性,但是,如果仍在面向.NET Framework的应用程序中使用该库,则不会看到性能提升,因为该库仍将在相同的.NET Framework上运行。
如果您将整个应用程序本身移植到.NET Core(3.0推出后将更加容易),那么您肯定会看到性能的提高,因为您的库将随后在.NET Core上运行。
对于移植-通常最简单的方法是创建一个空库,然后手动将现有类复制到新库中,然后安装所有必需的NuGet软件包。
答案 1 :(得分:2)
除了@Martin的答案之外,要将现有的.NET Framework应用程序迁移到.NET Core,您可以首先从portablility analyzer tool开始。该工具是Visual Studio扩展,可提供有关应用程序灵活性的详细报告。
将现有项目迁移到.NET Core是一个过程,这可能需要一些时间,具体取决于解决方案的性质。该工具在确定项目状态时非常有用。 如果仅针对.NET Framework 4.6.2,则迁移应该相对简单。这是您可以做的:
编辑新项目的set picPath to (POSIX path of "/Users/ADMIN/Desktop/folder1/folder2/nameoffile ") & ".png" as string
文件,并将目标框架更改为net462。
csproj
将文件从旧项目移动到新项目。
删除旧项目并更新引用
为所有类库重复步骤
我建议从具有最小依赖性的类库开始,测试更改,并在转换完所有简单的内容后移至更复杂的内容。