netstandard20 中的 System.Data.Linq

Mik*_*e U 12 c# .net-standard .net-standard-2.0

我有一个引用 .Net 4.6 项目的 netstandard20 项目,除了我调用 .Net 4.6 项目中的任何功能之外,所有编译和运行,我收到以下错误。

FileNotFoundException:无法加载文件或程序集“System.Data.Linq,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089”。该系统找不到指定的文件。

在2017年VS,在工程资源管理器下Dependancies / SDK / Microsoft.NETCore.App我可以看到System.Data.dllSystem.Data.Common.dll,但没有参考System.Data.Linq.dll,我假定这是我的问题,也没有在被拉开。

如何让我的项目包括在内System.Data.Linq.dll

如果我包括C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\System.Data.Linq.dll我收到以下错误

BadImageFormatException: 无法加载文件或程序集“System.Data.Linq,版本=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”。不应为执行加载引用程序集。它们只能在仅反射加载器上下文中加载。(来自 HRESULT 的异常:0x80131058)

All*_*ice 21

System.Data.Linq通过使用Mindbox.Data.Linq NuGet 包,我能够解决在 .NET Standard 2.0 库中使用的需求

安装后,您应该能够System.Data.Linq像为 .NET Framework 编写代码一样使用命名空间!

  • 如果这有效的话,你将节省一天、一周甚至一个月的时间。我仍然认为 LinqToSql 对于那些喜欢完成任务并知道如何做的人来说是更好的 ORM。我想我会和旅鼠一起跳进海里。 (2认同)

Mar*_*ich 9

System.Data.Linq 不是 .NET Standard 2.0 和 .NET Core 2.0 的一部分,因此不能在该平台上使用。

即使您已经能够通过兼容性垫片添加对 .NET 4.6 项目的引用,但由于目标运行时不可用的功能,它在运行时失败