错误:调用服务元数据组件时发生未知错误。无法生成服务引用

时间:2018-05-24 12:00:43

标签: c# wcf .net-core

当尝试使用.net core 2.1 rc1为WCF添加服务引用时,我遇到以下错误:

Error:An unknown error occurred while invoking the service metadata component. Failed to generate service reference

我已经检查过,唯一的安全措施是传输,没有邮件安全。

日志如下:

[05/24/2018 12:28:28],59,Importing web service metadata ...

[05/24/2018 12:28:28],27,Number of service endpoints found: 2

[05/24/2018 12:28:28],9,Scaffolding service reference code ...

[05/24/2018 12:28:28],71,Executing command [C:\Users\me\AppData\Local\Temp\WCFConnectedService\2018_May_24_12_28_28\svcutil_starter]
 "dotnet new console --no-restore --force --type project --language C# --output . --name svcutil_starter"

[05/24/2018 12:28:30],9,Executing command [C:\Users\me\AppData\Local\Temp\WCFConnectedService\2018_May_24_12_28_28\svcutil_starter]
 "dotnet restore --ignore-failed-sources"

[05/24/2018 12:28:31],35,Executing command [C:\Users\me\AppData\Local\Temp\WCFConnectedService\2018_May_24_12_28_28\svcutil_starter]
 "dotnet "svcutil" --additionalprobingpath "C:\Users\me\\.nuget\packages" "C:\Users\me\AppData\Local\Temp\WCFConnectedService\2018_May_24_12_28_28\SvcUtilParams.txt""

[05/24/2018 12:28:32],52,An unknown error occurred while invoking the service metadata component.
Failed to generate service reference.

[05/24/2018 12:28:32],11,Done.

4 个答案:

答案 0 :(得分:11)

作为此问题的临时解决方案,我在我的解决方案中添加了一个新项目,将其设置为Asp Core 1.1,并添加了似乎有效的连接服务。

目前2.1似乎已被破坏,我必须等待更新才能直接在我的项目中进行更新。

编辑:感谢User3130628。现在已经修复了,即使在VS 15.7.5中也可以使用。

我怀疑核心框架已经更新,这已经纠正了这个问题。

答案 1 :(得分:5)

到2018年7月31日,NET Core 2.1.x在VS2017(v15.7.5)中为WCF添加服务引用仍然存在问题。您可以创建Net 2.0.x项目来创建连接的服务,它将完美运行。然后将项目中的“ Connected Services”子目录复制到新的NET Core v2.1.x项目。

通过NuGet安装以下软件包,例如该映像:

用于连接服务的NuGet软件包 enter image description here

在NET Core 2.1.x项目中成功编译。

答案 2 :(得分:4)

从今天的VS2017 15.8.1开始,它似乎又可以与.Net core 2.1.401一起使用

答案 3 :(得分:2)

不确定为什么这对我有用:

  • 创建了针对.Net Core 2.0(在VS的另一个实例中)的第二个Temp新项目
  • 使用.wsdl uri进行服务参考调用(Microsoft WCF Web服务参考提供程序)
  • 打开第一个项目(目标项目目标为.Net Core 2.1),并以相同的方式添加服务引用。

不确定为什么会这样。如果没有在其他Visual Studio实例中创建第二个解决方案,它就无法正常工作。

希望这会有所帮助。