.NET Standard2.0类库项目无法添加WCF服务为连接服务
.NET Standard 2.0 添加WCF Web引用失败的解决方案
- 安装必要的WCF NuGet包
.NET Standard 2.0 不再默认包含WCF相关系统引用,需手动安装以下NuGet包:System.ServiceModel.HttpSystem.ServiceModel.Primitives
可通过NuGet包管理器搜索安装,或在Package Manager Console执行命令:
Install-Package System.ServiceModel.Http Install-Package System.ServiceModel.Primitives
- 手动编辑.csproj配置
打开项目的.csproj文件,确认已添加上述NuGet包的引用(新格式csproj会自动生成,若缺失可手动添加):
<ItemGroup> <PackageReference Include="System.ServiceModel.Http" Version="4.8.1" /> <PackageReference Include="System.ServiceModel.Primitives" Version="4.8.1" /> </ItemGroup>
- 用SvcUtil.exe手动生成代理类
如果可视化添加服务引用的方式持续报错,可直接使用官方工具生成代理:
- 打开Visual Studio开发者命令提示符
- 执行命令(替换为你的服务WSDL地址):
svcutil.exe http://your-service-url?wsdl /out:ServiceProxy.cs /config:ServiceConfig.config
- 将生成的
ServiceProxy.cs添加到项目中,把ServiceConfig.config里的配置节点合并到项目的配置文件中(类库项目的配置需在引用它的主项目中配置)
清理重建项目
右键项目选择「清理」,手动删除项目目录下的bin和obj文件夹,重新生成项目后再尝试添加服务引用,排除缓存导致的异常。检查Visual Studio组件
打开Visual Studio安装器,确认已安装「WCF服务」组件,或将Visual Studio更新到最新版本,避免组件版本不兼容引发的错误。
内容的提问来源于stack exchange,提问作者Pradeep Prabhu
相关产品推荐
相关产品推荐

