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

The*_*ira 6 c# .net-core

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

我正在使用 Visual Studio 2019 V16.0.0 Preview 2.2(如果相关的话)。

小智 1

正如 Marc Gravell 所提到的,.NET Core 和 .NET Framework 是不同的框架。他们每个人提供的 Api Surface 都不同。描绘其表面积的一个好方法是使用维恩图,其中两者的交集就是我们所说的 .NET 标准。如果您使用的库面向 .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您的库需要的表面将在运行时出现。

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