![](/img/trans.png)
[英]How to add a reference to a .Net Core 3.1 project from a .Net standard 2.0?
[英]How to “Add Service Reference” in .NET Standard project
我想在 .NET Standard 项目中执行“添加服务引用”。(Visual Studio 2017)
我在 NuGet 上安装了“System.ServiceModel.Http”和“System.ServiceModel.Security”以使 WCF 访问成为可能。
但是,.NET Standard 项目中没有“添加服务引用”菜单项。 如何添加服务引用?
它存在于.NET Framework 项目中,但不存在于.NET Standard 项目中,因此它有问题。
我来到这里希望解决一个稍微不同的问题......但也许可以回答你的问题;
我必须将 VS2017 更新到最新版本(我现在是 15.5.2),然后; 右键单击项目>>添加>>连接的服务,然后单击“Microsoft WCF Web Service Reference Provider”。 提供的对话框与框架“添加服务引用”选项的对话框非常相似。
如果您要添加新课程等,它与您将使用的“添加”菜单相同......
这是在 15.5 版中添加的。 有关更多信息,请参阅github 上的 WCF 。
Visual Studio 2017 社区 v15.9.7
解决方案资源管理器 -> 右键单击依赖项-> 添加连接的服务
截屏:
这些解决方案对我来说并不真正有效。 我在 Unity 2019.1.10f 和 Visual Studio 2017 中使用它。我发现您需要做的是将与 WCF 相关的 dll 添加到您的 Unity 项目,然后生成服务客户端代理并将其带到您的脚本中。 下面一步一步来。
现在生成服务客户端代理,您可以通过几种方式来完成,一种选择是使用 svcutil,例如在 VS 命令提示符下运行以下命令来生成客户端代理类。
svcutil -out:c:\\temp\\ClientProxy.cs https://[YourWebServiceDomain]/[Service].svc
将上面的 ClientProxy.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
}
}
}
实际上你可以右键单击,转到“添加连接服务”,然后单击“Microsoft WCF Web 服务引用提供程序”,它应该与“添加服务”相同。
环境:
我使用了 asmx Web 服务,但文档说:它与 WCF 服务相同。 我认为它适用于所有 SOAP 服务。
1) 添加服务引用的步骤:
项目> 添加连接的服务
将 WCF 服务引用添加到项目。
您可以通过将您的服务拖入 bin 目录来手动添加它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.