Установить PackageId во время пакета?
Ответ - да.
Согласно документу Целевые входы пакета MSBuild , мы могли бызнаю, что PackageId
поддерживается для установки во время сборки.
Примечание:
Я видел, что для свойства GeneratePackageOnBuild
установлено значение true
, поэтомуVisual Studio автоматически сгенерирует пакет nuget.
Итак, если вы не используете дополнительную задачу dotnet pack
для упаковки вашего пакета, вы добавляете аргумент msbuild -p:PackageId=<PackageId>
в свою задачу сборки dotnet, например:
dotnet build -c Release -p:PackageId=<PackageId>
Если у вас естьеще одно dotnet pack
задание для упаковки вашего пакета, @ Martin ответ правильный.
Note2:
Когда мы используем опцию -p:PackageId
для изменения пакетаID, но AssemblyName не изменяется.Таким образом, Package ID
сгенерированного пакета не соответствует его AssemblyName
.Нам нужно уделять больше внимания, когда мы используем этот пакет nuget.Или мы могли бы также изменить AssemblyName
, чтобы он соответствовал идентификатору пакета, с помощью опции -p:AssemblyName=<AssemblyName>
Надеюсь, это поможет.