C# .net core引用WebService报错的解决办法

.net core 对webService的支持不是很友好
就是在项目引用的时候引用会失败
但是使用.net framework却可以完美引用
那么碰到这个问题该如何解决呢?
其实也没网上写的那么难 还用到了微软的什么工具生成还是修改什么文件的
请主动过滤这些脑残文章!!
步骤:
1.创建一个.netframe work项目

在项目下右键 添加-》服务引用
这个WebService地址用来测试
http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx(根据IP地址获取国家城市名字的)
C# .net core引用WebService报错的解决办法_第1张图片
直接点确定就好了 这个时候他会为我们生成一个类
在这里插入图片描述
但是这里不是那个类 我们 还是右键这个项目
-》在文件资源管理器打开该项目
C# .net core引用WebService报错的解决办法_第2张图片
里面会有个Reference.cs的文件 拷贝它 (可以随意重命名)
.net framework 这边就可以不用了
2.复制Reference.cs文件到.netcore 项目下
我想你应该已经准备好了一个.netcore 项目
C# .net core引用WebService报错的解决办法_第3张图片
当然现在会报错 因为缺少依赖

3.nuget System.Service.Model.http
在这里插入图片描述
这样Reference.cs就不会报错了
4.调用

using LogLog.ServiceReference1;
using ShJxWebServiceAssist.UpLoadJson;
using ShJxWebServiceAssist.UserRelation;
using System;
using System.ServiceModel;

namespace WebServiceAssist
{
    class Program
    {
        //成功
        static void Main(string[] args)
        {
           

            BasicHttpBinding binding2 = new BasicHttpBinding();

            EndpointAddress address2 = new EndpointAddress("http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx");
            IpAddressSearchWebServiceSoapClient client2 = new IpAddressSearchWebServiceSoapClient(binding2, address2);
            string[] a =client2.getCountryCityByIp("156.176.12.34");
            foreach (var item in a)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }
    }
}

代码献上
5.结果
C# .net core引用WebService报错的解决办法_第4张图片
调用成功
自己封装一下 就可以使用了哦

你可能感兴趣的:(C#,webService,C#,webservice)