我有一个在.NET Framework 4.6.1中编译的DLL库。它使用我从Microsoft.SqlServer.SqlManagementObjects v.140.17283.0
安装的Unofficial.Sql.Server.Management.Objects v17.4.1
和NuGet
。
一切正常。
现在,我想在NetCoreApp2.1
项目中使用此库。我引用了DLL及其依赖项。
但是,当我实例化一个创建服务器对象的对象时,它就会崩溃。出现错误的行是:
sourceServer = new Server(GeneralSettings.Default.ServerNameSource);
,错误是:
Could not load type 'Microsoft.SqlServer.Server.SqlContext' from assembly 'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
我认为.NetCoreApp
使用的System.Data
与库不同。
我该如何解决?
答案 0 :(得分:0)
此问题发生在 .net core 2.0中,并持续存在于 .net core 2.1 中。
为了解决该问题,您可以参考Microsoft.SqlServer.SqlManagementObjects。
github中也有一个与此问题有关的话题。
这是该帖子的官方回复:
是的,它是针对.NET Framework构建的库, 引用.NET Core中不存在的类型。虽然我们做了一个 .NET Core 2.0中的大量移植,这些库不需要的类型 全部存在。因此很遗憾,该库无法在.NET上运行 核心。