我有一个在.NET框架4.6.1中编译的DLL库。它使用的是我从NuGet安装的Microsoft.SqlServer.SqlManagementObjects v.140.17283.0和Unofficial.Sql.Server.Management.Objects v17.4.1。一切正常。
现在我想在一个NetCoreApp2.1项目中使用这个库。我引用了DLL和依赖项。但是,当我实例化一个创建Server对象的对象时,它就崩溃了。出错的那一行是:
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。
我该如何解决这个问题呢?
发布于 2018-12-12 17:38:08
此问题在.net Core2.0中出现,并在.net Core2.1中持续存在。
为了解决这个问题,你可以参考Microsoft.SqlServer.SqlManagementObjects。
在github中也有关于这个问题的帖子。
这里是对这篇文章的官方回复
是的,这是一个基于.NET框架构建的库,它引用了.NET核心中不存在的类型。虽然我们已经在.NET Core2.0上做了很多移植工作,但是这个库需要的类型还没有全部出现。所以不幸的是,这个库不能在.NET核心上运行。
https://stackoverflow.com/questions/53739342
复制相似问题