Автоматически добавлять зависимости nuget, используя VSTS и Nuget Pack - PullRequest
0 голосов
/ 13 июня 2018

Я использую Visual Studio Team Services для запуска сборок для библиотеки, которую я публикую в виде пакета Nuget.

Проект содержит файл nuspec, в котором указываются имя, описание, URL проекта и другая статическая информация.

Этот файл nuspec указан в действии сборки пакета Nuget в VSTS

enter image description here

Я хотел бы включить информацию о зависимостях какоднако я не хочу управлять этим вручную в XML nuspec (подвержен ошибкам и занимает много времени).

Файл nuspec не содержит элемента, поэтому я надеялся, что действие пакета VSTS NuGet включит их автоматически.

Есть ли способ достичь этого?

Ответы [ 2 ]

0 голосов
/ 14 июня 2018

Очевидно, существует довольно простое решение.
Вы можете настроить задачу VSTS Nuget pack на использование файла csproj (не nuspec), однако он все равно получит доступ к nuscpec для получения метаданных.См. Журналы ниже:

enter image description here

Чтобы повторить, вместо установки шаблона для файла nuspec в задаче сборки в VSTS укажите путь кфайл csproj.

0 голосов
/ 13 июня 2018

Вы можете использовать новый формат csproj "SDK style", чтобы переместить проблемы NuGet в один файл csproj, который позволяет указывать зависимости и статические метаданные в одном месте.

Лучше всего начать создавать стандарт .NETДобавьте в библиотеку и измените свойство <TargetFramework> с netstandard2.0 на платформу, на которую вы указали ранее - например, net452.(Или выберите соответствующую версию .NET Standard)

Этот тип проекта может быть упакован с использованием msbuild /t:Pack или dotnet pack

Когда вы добавляете ссылки на проекты или пакеты NuGet, они автоматически превращаются взависимости во время упаковки, и если вы ссылаетесь на пакеты с помощью подстановочного знака (1.2.*), пакет будет зависеть от версии, разрешенной во время восстановления.VS предлагает диалог для редактирования метаданных пакета для этого типа проекта в свойствах проекта.

...