.net - 无法解决 .NET Core 和 .NET Framework 之间的项目依赖问题
问题描述
我有 .NET Core 控制台应用程序,该应用程序在同一解决方案中引用了数据层项目,并且遇到了无法解决的错误。
Job
是 .NET Core 2.0。
Project
是 .NET 框架 4.8。
解决方案
您需要让您的数据库以 .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 项目。
推荐阅读
- javascript - 如何从函数返回值-CodeceptJS
- azure - Azure 数据工厂 V2 多个环境,如 SSIS
- php - 如何使用 Angular.js 从表中删除多行?
- ios - 如果我们在后台点击任何地方,除了在 swift 中点击 popView 之外,如何删除 popView
- tomcat - Apache tomcat 如何创建指向 url 的链接
- algorithm - Lua(trAInsported):尝试实现波前算法,不工作
- sql-server - 如何将捕获的 SQL 探查器“exec sp_executesql”映射到 sql server 中的存储过程名称
- javascript - 提取正则表达式名称的一部分
- oracle - 从 plsql 代码重定向到新选项卡中的 url
- javascript - 为什么当主 JS 线程每 50ms 接收来自 web worker 的消息并简单地 console.logs 时,堆内存会无限增加?