C# NET核心API-引用连接到不同web服务的DLL返回';对象引用未设置为对象的实例';

C# NET核心API-引用连接到不同web服务的DLL返回';对象引用未设置为对象的实例';,c#,web-services,.net-core,C#,Web Services,.net Core,我有.NETCore2.1RESTAPI应用程序。在其中,我引用了基于参数连接到不同web服务的dll文件。每个调用返回异常: Object reference not set to an instance of an object. at System.Web.Services.Protocols.SoapClientType..ctor(Type type) at System.Web.Services.Protocols.SoapHttpClientProtocol..ctor

我有.NETCore2.1RESTAPI应用程序。在其中,我引用了基于参数连接到不同web服务的dll文件。每个调用返回异常:

Object reference not set to an instance of an object.
   at System.Web.Services.Protocols.SoapClientType..ctor(Type type)
   at System.Web.Services.Protocols.SoapHttpClientProtocol..ctor()
如果从常规的.NET Framework应用程序调用,则该调用将起作用。
我的API编译没有任何问题。到目前为止,我遇到了一些麻烦-首先我遇到了关于缺少System.Web.Services dll的异常,后来我不得不安装NuGet System.Configuration.ConfigurationManager,现在我遇到了这个异常。有什么办法让它工作吗?可能不会干扰DLL代码。

可能您混淆了.NET内核和.NET Framework之间的区别。System.Configuration.ConfigurationManager和System.Web.Services属于.NET Framework,仅在Windows操作系统上运行,不能与.NET Core一起使用。另外,.NETCore中不存在的WCF服务使用了两个库

请阅读此处了解更多详细信息:

我知道它们之间的区别,我只想在.Net Core中使用.Net Framework库。我的应用程序无论如何都部署在Windows Server上。事实上,这不可能,因为它们有不同的CLR。WCF只是考虑在一个漫长的路线图中移植到.NET核心。如果您仍然想连接SOAP WS,恐怕您应该使用.NET Framework。或者您可以使用ASP.NETWebAPI2连接SOAP WS,然后制作另一个.NETCoreAPI来调用它们,这只是临时解决方案,不是最好的。