Получить абсолютные пути к библиотекам зависимостей NuGet через MSBuild - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь написать собственную цель в общей библиотеке, которая позволит мне включить все зависимости NuGet нашего проекта, чтобы запустить ILRepack для скрытия зависимостей.

Моя главная задача состоит в том, чтобы проект был многоцелевым по net45, net46 и netstandard2.0.Если бы это было не так, было бы довольно просто использовать одну из готовых целей ILRepack от NuGet напрямую.

Я пытаюсь сделать это после завершения сборки и нашей DLLпостроен, чтобы вручную перечислить зависимые пути DLL, скопировать их в известное место, а затем запустить ILRepack на нашей DLL, чтобы объединить все зависимости.Я хочу выполнить это с помощью MSBuild, чтобы избежать необходимости написания сложного сценария, который может извлекать зависимости для нескольких целевых сред.

Я сосредоточил свое исследование на полном экспорте проекта xml, созданном с помощью dotnet msbuild /pp:fullproj.xml.Есть ли целевой или выходной параметр, доступный как часть процесса сборки, который позволил бы мне получить абсолютные пути ко всем .dll файлам, которые обычно заканчивались бы в конечном .nupkg?

TL; DRЕсть ли встроенный способ перечислять абсолютные пути всех библиотек зависимостей NuGet в цели MSBuild?

1 Ответ

0 голосов
/ 29 ноября 2018

Вы можете попробовать задачу msbuild из ILRepack.Lib.MSBuild.Task .Эта задача позволяет вам определить файл с именем ILRepack.targets, который содержит требуемую цель и позволяет настроить процесс сборки.Это помогло мне в подобном случае.

...