Как я могу развернуть скрипт PS1 с пакетом nuget - PullRequest
0 голосов
/ 01 июля 2019

У меня есть сценарий PS1, который я использую во всех своих проектах для подписания сборок.До сих пор я копировал этот файл во все мои проекты.Теперь я хотел создать пакет nuget с файлом PS1.

Я создал файл nuspec и поместил файл в «content».К сожалению, ничего не произошло.Тогда я попытался поместить это в lib.Все еще замечание произошло.Когда я восстанавливаю пакет в моем проекте, файлы, созданные в этом проекте, отсутствуют.

Когда я анализирую файл nupkg с помощью моего 7-Zip, файл выглядит нормально.Файл ps1 содержал содержимое, соответственно, lib.

Я ничего не нашел в этой теме в Интернете.Может кто-нибудь объяснить мне, как создать такой NuGet-пакет?

1 Ответ

1 голос
/ 01 июля 2019

Когда проект, использующий packages.config, устанавливает пакет NuGet, запускается скрипт пакета tools\install.ps1. Однако больше не происходит, когда в проекте, использующем пакет, используется PackageReference (например, проекты в стиле SDK, используемые в .NET Core).

Аналогично, файлы в папке content nupkg копируются в проект при установке, но только тогда, когда в проекте используется packages.config. PackageReference проекты используют папку contentFiles в nupkg, однако поведение отличается. Эти файлы копируются только при сборке, но не при установке, для проектов .NET Framework и при публикации для проектов .NET Core. Вероятно, не то, что вы хотите для подписания сборок.

Функцией, которую вы, вероятно, хотите использовать, является , включая реквизиты и цели MSBuild в вашем пакете . Обратите внимание, что имена файлов props и targets должны точно соответствовать идентификатору пакета, чтобы NuGet мог их использовать. Вы, вероятно, хотите использовать afterTargets="build" в предположении.

...