首页 > 解决方案 > 无法解决 .NET Core 和 .NET Framework 之间的项目依赖问题

问题描述

我有 .NET Core 控制台应用程序,该应用程序在同一解决方案中引用了数据层项目,并且遇到了无法解决的错误。

Job是 .NET Core 2.0。

Project是 .NET 框架 4.8。

错误

标签: .netvisual-studio.net-core

解决方案


您需要让您的数据库以 .NET Standard 2.0 而不是 .NET Framework 4.8 为目标。

.NET Core 和 .NET Framework 是不同的框架

您不能从 .NET Core 引用 .NET Framework 库,正如 Microsoft 的这张图所示:

在此处输入图像描述

为了解决这个问题,微软为类库引入了 .NET Standard:

在此处输入图像描述

.NET Core 2.0 及更高版本以及 .NET Framework 4.6.1(但最好是更高版本)都可以引用面向 .NET Standard 2.0 及更低版本的库 - 请参阅.NET Standard 文档中的实现支持

您需要将您的库重新定位到 .NET Standard 2.0。如果您的库需要的 .NET Standard 中缺少任何 API,它们可能会以 NuGet 包的形式提供 - 您可以在apisof.net上查找这些 API 。

请注意,如果您在数据库中使用 LINQ to SQL,那么您就不走运了,因为它仅适用于完整的 .NET,不适用于 .NET Standard 或 .NET Core 项目。

上图来自Introducing .NET Standard


推荐阅读