[英]Getting a list of all dependencies from a .NET Standard project's csproj
[英]Publish .net standard library with all it's dependencies?
我創建了一個動態加載庫並執行它的主類的系統。 一切正常,我遇到的問題是如何發布此 DLL 及其所有依賴項。 由於沒有可執行項目引用它,我必須手動檢索依賴項:嘗試加載庫,檢查所需的 DLL,轉到 NuGet 緩存文件夾,復制庫,再試一次,檢查它是否抱怨更多依賴項等等直到它擁有所有必需的庫。
這是一個真正的痛苦,我還沒有找到任何關於如何做到這一點的信息,有可能還是我堅持這個?
該庫是一個 .net 標准 2.0 庫,我之前使用 .net classic 這樣做過,輸出文件夾始終包含所有必需的庫,即使是來自 NuGet 包的庫,但使用 .net 標准,有些東西已經改變,現在只有來自正在復制引用的項目,沒有將引用的 NuGet 包復制到輸出文件夾。
干杯。
嘗試:
dotnet publish
所有依賴庫都應復制到發布輸出文件夾。
這是發布 DLL 的實用且輕松的解決方案:
因此,經過一段時間的斗爭,我想出了一個更優雅的解決方案。 我測試了這種方法,並部署了一個帶有許多外部依賴項的插件的完整構建到 Ubuntu 18.04,它運行完美。
創建一個類型為 Console Application 而不是類庫的新項目。 將所有庫代碼文件放入控制台應用程序並添加依賴項。 擺脫類庫項目(您不再需要它)。 最后,發布控制台應用程序。 您將獲得一個包含所有依賴項的 DLL。 您可以像使用任何其他 DLL 一樣使用此 DLL。
我建議將控制台應用程序項目命名為“Library”,並添加一個 README 來記錄它並不是真正的應用程序,即使該項目被配置為構建為一個應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.