包装/转换.net库到.net核心



我想转换我现有的ASP。.NET API是基于。NET 4.6构建的。净的核心。从我所做的小测试来看,我喜欢。net Core——它更快,并且有机会在Linux上运行。

但是我遇到的最大的问题是,很多使用完整的。net F/W编写的开源库仍然不兼容它(并且没有给出它们是否会兼容的信息)。所以突然之间。net Core失去了很多吸引力。

我的问题是,如果有任何方法做利用现有的nuget库在。net核心?有没有一种方法可以把它们包装起来使它们工作?如果没有,一个完整的。net F/W库如何转换为。net Core?有必要完全重写吗?

您有使用完整。net框架构建的api,并且您希望将它们编译为。net Core (CoreFx)。这不是我们现在手工完成的。如果你想,你必须创建pcl。

如果你看一下。net Core文档,你会发现。net Core很小,并且优化了运行时。因此,所有的。net框架库将被重新编译为CoreFx,以便由。net团队进行优化。对所有。net框架库的支持预计将在2017年第一季度、第二季度兼容,你可以在这里了解更多。

还有另一种可能性,你也可以使用。net Framework库与。net Core,但它将只兼容Windows。

[有]任何方法做利用现有的nuget库在。net核心?

可以,只要这些库是可移植的(PCL)。虽然便携库可能会使用。net Core不支持的api,但要尝试使用这些库,您需要在project.json中使用"imports"

对于。net框架库,重新编译是必要的(但可能还不够)。

作为一种选择,您可以使用ASP。. NET Core在。NET框架上。通过这种方式,您可以获得一些性能改进,同时仍然可以使用。net框架的所有功能。但是你确实失去了Linux和Mac OS的可移植性(除非你算上mono)。

有没有办法把[。让它们在。Net Core上工作?

据我所知没有。

如何将完整的。net F/W库转换为。net Core?有必要完全重写吗?

一般来说,不需要完全重写

。但是你必须修改。net Core不支持的部分。

虽然如果你等待,情况会变得更好,因为许多最初在。net Core中被省略的api很快就会回来。这可能是一些库作者不急于支持。net Core的原因之一。

最新更新