【发布时间】:2021-10-08 05:43:51
【问题描述】:
我目前正在使用 .NET 5 开发应用程序,并打算在完全发布后将其迁移到 .NET 6。
我正在考虑使用在 .NET Framework 4.5 中实现的库,该库在 .NET 5 中运行
使用 .NET 6 是否仍然兼容?使用这样的库是否还有其他风险?
【问题讨论】:
-
您需要查看 .net 标准。这提供了一个可以在不同框架之间使用的“标准”。 docs.microsoft.com/en-us/dotnet/standard/net-standard 但基本上你不能在纯 .Net Framework 中开发并期望它在 .Net 5 或 6 中工作。
-
@ErmiyaEskandary 我说我想了解有关兼容性和风险的信息。尽管如此,这不是我的图书馆,我对图书馆的唯一了解是它在 .Net Framework 4.5 上中继。自己实现这些东西将是一大堆工作。据我了解,.Net Framework 4.5 实现了某些版本的 .Net 标准,这就是它可以与 .Net 5 一起使用的原因。而且目前确实如此。我真的不知道如何确定这种兼容性是否会在未来持续或存在这些依赖关系的风险。
-
@tobias 啊好的,写答案-谢谢你的澄清:)
-
.NET 5 及更高版本实际上是 .NET Core。 .NET 4.5 本身不支持,几个月后,所有低于 4.6.2 的版本也将不支持。
that's implemented in .NET Framework 4.5, which works in .NET 5并非如此。不能在 .NET Core 中使用 .NET Framework 库。只有当它以 .NET Standard 为目标时,您才能这样做。而且由于您正在迁移到 .NET Core,因此没有理由针对低于 .NET Standard 2 的任何东西 -
Will it still be compatible using .NET 6不,不会的。是否有任何问题取决于它做了什么以及它使用了哪些 API。例如,WinForms 和 WPF API 最初是在 .NET Core 3.1 中添加的,在 .NET 5 中具有完全(ish)支持。WebForms 从未迁移过。如果您使用特定于 Windows 的目标,则特定于 Windows 的 API 可以在 .NET 5 及更高版本中工作
标签: c# nuget .net-4.5 .net-5 .net-6.0