我有.NET Core控制台应用程序,该应用程序在同一解决方案中引用了数据层项目,但遇到了我无法解决的错误。
Job
是.NET Core 2.0。
Project
是.NET Framework 4.8。
答案 0 :(得分:3)
您需要将数据库目标是.NET Standard 2.0而不是.NET Framework 4.8。
.NET Core和.NET Framework是不同的框架。
您不能从.NET Core引用.NET Framework库,如Microsoft的此图所示:
为解决此问题,Microsoft为类库引入了.NET Standard:
.NET Core 2.0和更高版本以及.NET Framework 4.6.1(但最好是更高版本)都可以引用面向.NET Standard 2.0和更低版本的库,请参见.NET Standard文档上的implementation support。
您需要将库重新定位为.NET Standard 2.0。如果您的库需要的.NET Standard中缺少任何API,它们可能会以NuGet包的形式提供-您可以在apisof.net上查找它们。
请注意,如果您在数据库中使用LINQ to SQL,那么您会很不走运,因为它仅是完整的.NET,并且不适用于.NET Standard或.NET Core项目。
以上图表均来自Introducing .NET Standard