【问题标题】:How to "Add Service Reference" in .NET Standard project如何在 .NET Standard 项目中“添加服务引用”
【发布时间】:2018-05-04 21:42:47
【问题描述】:

我想在 .NET Standard 项目中执行“添加服务引用”。(Visual Studio 2017)

为了使 WCF 访问成为可能,我在 NuGet 上安装了“System.ServiceModel.Http”和“System.ServiceModel.Security”。

但是,.NET Standard 项目中没有“添加服务引用”菜单项。 如何添加服务引用?

.NET Framework项目中存在,.NET Standard项目中不存在,所以有问题。

【问题讨论】:

标签: c# asp.net .net wcf .net-standard


【解决方案1】:

我来到这里希望解决一个稍微不同的问题......但也许可以回答你的问题;

我必须将 VS2017 更新到最新版本(我现在是 15.5.2),然后; 右键单击项目>>添加>>连接的服务,然后单击“Microsoft WCF Web Service Reference Provider”。提供的对话框与框架“添加服务引用”选项的对话框非常相似。

如果您要添加新类等,您将使用相同的“添加”菜单......

这是在 15.5 版中添加的。请参阅WCF on github 了解更多信息。

【讨论】:

    【解决方案2】:

    Visual Studio 2017 社区 v15.9.7

    Solution Explorer -> 右键单击​​Dependencies -> 添加Connected Service

    截图:

    【讨论】:

      【解决方案3】:

      这些解决方案并不适合我。我将它与 Unity 2019.1.10f 和 Visual Studio 2017 一起使用。我发现您需要做的是将与 WCF 相关的 dll 添加到您的 Unity 项目中,然后生成服务客户端代理并将其带到您的脚本中。下面一步一步来。

      1. 创建一个新的 Unity 3D 项目,或打开您的项目,然后在 Assets 下创建一个名为 Plugins 的新文件夹。
      2. 导航到 Unity 的安装文件夹(例如 C:\Program Files\Unity\Hub\Editor\2019.1.10f1)。
      3. 从安装文件夹,导航到Editor\Data\Mono\lib\mono\2.0,在这个文件夹中你应该找到System.ServiceModel.dll,你需要把这个文件复制到步骤1中创建的Plugins文件夹中.
      4. 现在生成服务客户端代理,您可以通过几种方式来实现,一种选择是使用 svcutil,例如在 VS 命令提示符下运行以下命令来生成客户端代理类。

        svcutil -out:c:\temp\ClientProxy.cs https://[YourWebServiceDomain]/[Service].svc

      5. 将上面的 ClientProxy.cs 文件复制到您的项目中任何您喜欢的资产下。

      6. 现在在您的项目中添加一个新的 Monobehaviour 脚本,例如 WebClient.cs。您需要将其附加到场景中的某个游戏对象上才能运行下面的脚本。
      7. 打开 WebClient.cs 并添加您的代码以连接到新的代理服务,示例如下。
      using UnityEngine;
      using System.ServiceModel;
      using YourClientProxyNamespace;
      
      public class WebClient : MonoBehavior
      {
        void Start()
        {
          using (ProxyClient client = new ProxyClient(
              new BasicHttpBinding(BasicHttpSecurityMode.Transport),
              new EndpointAddress("https://YourWebServiceDomain/Service.svc")))
          {
            var response = client.DesiredMethod();
      
            // Do whatever with the response
          }    
        }
      }
      

      【讨论】:

        【解决方案4】:

        其实你可以右击,进入“添加连接的服务”,然后点击“Microsoft WCF Web Service Reference Provider”,应该和“添加服务”一样。

        【讨论】:

          【解决方案5】:

          本练习基于Use the WCF Web Service Reference Provider Tool

          环境:

          我使用过 asmx Web 服务,但文档说:它与 WCF 服务相同。我认为它适用于所有 SOAP 服务。

          1. 添加服务引用(使用 WCF Web 服务引用提供工具)。
          2. 添加包引用:

          1) 添加服务参考的步骤:

          项目> 添加连接服务

          将 WCF 服务引用添加到项目。

          【讨论】:

            【解决方案6】:

            您可以通过将服务拖到 bin 目录中来手动添加它

            【讨论】:

            • 你误会了。 “添加服务引用”一般通过以下方式完成。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-01-06
            • 1970-01-01
            • 1970-01-01
            • 2020-09-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多