簡體   English   中英

通過MSBuild獲取NuGet依賴庫的絕對路徑

[英]Get absolute paths to NuGet dependency libraries via MSBuild

我試圖在共享庫中編寫一個自定義目標,這將允許我提取項目的所有NuGet依賴項,以便運行ILRepack進行依賴項隱藏。

我的主要挑戰是該項目跨net45,net46和netstandard2.0的多目標。 如果不是這種情況,直接使用NuGet的現成ILRepack目標之一將非常簡單。

我正在嘗試的是,在構建完成並且構建了我們的DLL之后,手動枚舉依賴的DLL路徑,將它們復制到已知位置,然后在我們的DLL上運行ILRepack以合並所有依賴項。 我想通過MSBuild來完成此任務,以避免不得不編寫復雜的腳本來檢索多個目標框架的依賴項。

我一直在通過運行dotnet msbuild /pp:fullproj.xml創建的完整項目xml導出來集中精力進行調查。 在構建過程中是否有可用的目標或輸出參數,使我可以提取通常會最終出現在最終.nupkg的所有.dll文件的絕對路徑?

TL; DR我是否可以通過內置方式枚舉MSBuild目標中所有NuGet依賴DLL的絕對路徑?

您可以從ILRepack.Lib.MSBuild.Task嘗試msbuild任務。 通過此任務,您可以定義一個名為ILRepack.targets的文件,該文件包含必需的目標並允許自定義構建過程。 這在類似情況下對我有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM