0
votes

Définissez PackageID au moment du paquet?

J'essaie de comprendre comment spécifier un paquet à la construction ou spécifiquement au moment de l'emballage. J'ai ce qui suit dans mon CSPROJ qui fonctionne bien pour créer des emballages localement aux fins des tests. Nous utilisons Azure DevOps Construis des pipelines pour créer et emballer nos packages Nuget et je voudrais pouvoir définir le paquetID comme paramètre tâche ou msbuild dans le pipeline de construction.

Est-ce que quelqu'un a des suggestions sur la manière dont je pourrais la réaliser?

merci, xxx


0 commentaires

3 Réponses :


0
votes

Vous pouvez modifier le XML de la CSPROJ après clone et avant de construire à l'aide de la tâche de transformation du fichier:

HTTPS : //docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/file-Transform? Vue = Azure-Devops


1 commentaires

Merci James, je n'étais pas au courant de l'util de transformation du dossier et cela sera utile à l'avenir.



1
votes

Avez-vous essayé d'appeler ?:

dotnet pack -c Release -p:PackageId=The.Other.Packge.id


0 commentaires

1
votes

Définissez PackageID à l'heure du paquet?

La réponse est oui.

Selon le document MSBUILD Pack Intrées cibles , nous pourrions connaître le PackageID est pris en charge pour être défini à la durée de construction.

Remarque:

J'ai vu que vous définissez la propriété generatePackageOnbuild sur true , donc Visual Studio générera automatiquement le package Nuget.

Donc, si vous n'utilisez pas Extra DotNet Pack Tâche pour emballer votre package, vous ajoutez MSBUILD Argument -P: PackageID = avec Votre tâche de construction DotNet, comme: xxx

si vous avez une autre tâche dotnet tâche pour emballer votre colis, @ Martin`s Réponse est correct. < / p>

Note2:

Lorsque nous utilisons l'option -p: packageId Pour modifier l'ID de package, mais le nom de montage n'est pas modifié. . Donc, l'identifiant du package généré n'est pas cohérent avec son nom de montage . Nous devons accorder plus d'attention lorsque nous utilisons ce package Nuget. Ou nous pourrions également modifier le nom nom pour le faire correspondre à l'ID de package par l'option -p: montageName =

espérons que cela vous aide.


0 commentaires