System.Data.Linq in netstandard20



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

FileNotFoundException:无法加载文件或程序集"System.Data.Linq, version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"。系统找不到指定的文件。

在VS 2017中,在Dependancies / SDK / Microsoft.NETCore.App下的项目资源管理器中,我可以看到System.Data.dllSystem.Data.Common.dll但没有对System.Data.Linq.dll的引用,我假设这是我的问题并且尚未拉入。

如何让我的项目包含System.Data.Linq.dll

如果我包含C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.6System.Data.Linq.dll则会收到以下错误

BadImageFormatException:无法加载文件或程序集"System.Data.Linq,版本=4.0.0.0,区域性=中性,公钥令牌=b77a5c561934e089"。不应加载引用程序集以执行。它们只能在仅反射加载程序上下文中加载。(HRESULT的例外:0x80131058)

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

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

System.Data.Linq

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

即使很难,您也可以通过兼容性填充码添加对 .NET 4.6 项目的引用,但由于目标运行时不可用的功能,它在运行时失败

最新更新