我最近用upgrade-assisstant工具遷移了一個dotnet framework v4.7.2 WCF服務到NetStandard 2.0。該專案成功遷移并編譯,但是我無法從visual studio或dotnet cli啟動服務。
遇到了一個致命的錯誤。執行應用程式所需的庫'hostpolicy.dll'沒有找到。
而且我試圖從 visual studio、solution explorer -> 右鍵單擊 wcf 專案 -> debug -> start new instance 得到的錯誤是:
一個輸出型別為類別庫的專案無法直接啟動。P.S 當WCF服務還是dotnet framework v4.7.2時,我可以在visual studio中按照上述步驟輕松地啟動服務。
uj5u.com熱心網友回復:
據我所知,.net 4.7.2是支持.netstandard 2.0的最低真實版本在這個鏈接中。
。你可以備份并升級到4.7.2來試試。
uj5u.com熱心網友回復:
WCF服務器API在.NET Standard或.NET Core/.NET 5 上不被支持,所以沒有好的方法來遷移這樣的應用程式。
升級助手試圖根據之前的專案型別來確定專案應該升級為庫還是exe。對于這個專案,升級助手猜測它是一個庫,因為沒有傳統的主方法,而且它不是一個 Web 應用或其他一些被該工具理解為可執行的專案型別。但無論它是將其升級為.NET標準庫還是.NET 5 exe,它都不會作業,因為WCF服務器API只支持.NET框架。
如果升級助手能在程序的早期提醒你,讓你知道升級對這種型別的專案不起作用,那就更好了。我認為它有這樣的功能,但它一定是在這個特定的專案中錯過了。您可以在該工具的GitHub頁面上提供反饋(https://github.com/dotnet/upgrade-assistant/issues)。
至于如何實際升級WCF服務器的東西,您需要使用不同的技術來重新架構,如ASP.NET Core、gRPC或CoreWCF。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/332995.html
標籤:
上一篇:使用Treeview打開PDF
