[英]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.