在.NET 4.8中引用.NET Core 3.0库?

时间:2019-02-12 09:50:28

标签: c# .net-core

我一直在尝试遵循一些已有的教程和stackoverflow问题/答案,但是似乎没有任何效果;

如果相关,我正在Visual Studio 2019 V16.0.0 Preview 2.2中工作。

1 个答案:

答案 0 :(得分:1)

如Marc Gravell所述,.NET Core和.NET Framework是不同的框架。他们每个人提供的Api Surface不同。描绘其表面积的一种好方法是使用维恩图,两者的交集就是我们所说的.NET Standard。如果您使用的库针对的是.NET Standard,则可以保证该库在.NET Framework 4.8和.NET Core 2.1+中均可以使用。您可以尝试在.NET Framework应用程序中使用.NET Core 3.0库,但这不能保证正常运行,因为您可能会很幸运,并且.NET Core库仅需要它们具有的API表面通常,但很可能它将需要仅.NET Core 3.0支持的功能,这意味着您将为未找到的方法,未找到的类型或程序集加载问题获得运行时异常。

您是否拥有.NET Core库代码?如果是这样,那么最好的选择是尝试将目标重新定位到.NET Standard(以便将来在其他框架中使用该库)或.NET Framework,这样,您就会知道所有API表面上您的库需求将在运行时出现。

我希望这有助于澄清问题,但如果您需要更多详细信息,请随时回复。