2017-09-07 3 views
4

Je suis en train de faire le scénario de construction suivante dans mon environnement (en utilisant Jenkins et git) sur mes projets .net qui sont tous en solution abc:msbuild et la version du fichier changement

  1. Tirez les changements de git.
  2. Construire la solution que seuls les projets qui ont été mis à jour pendant la traction seront construits et aussi les dépendances.
  3. La commande build doit générer ces projets et ses dépendances avec une version d'assembly spécifique. par exemple: 1.2.3.4
  4. Chaque AssemblyInfo.cs des projets qui ont été construits devrait être changé pour
[assembly: AssemblyVersion("1.2.3.4")] 
[assembly: AssemblyFileVersion("1.2.3.4")] 

Toute idée sur une belle façon de faire l'étape 3 et 4? J'ai essayé d'exécuter cette ligne de commande mais cela ne m'a pas donné le résultat que je voulais.

msbuild.exe abc.sln /p:Configuration=Release;VersionAssembly=1.2.3.4 

Appréciez vos bonnes réponses. Merci

Répondre

1

Utilisez MSBuild.Community.Tasks et ajoutez ce qui suit aux fichiers de projet *.csproj:

<Import Project=".\tasks\MSBuild.Community.Tasks.Targets"/> 

<AssemblyInfo CodeLanguage="CS" 
    OutputFile="AssemblyInfo.cs" 
    AssemblyVersion="$(BUILD_NUMBER)" 
    AssemblyFileVersion="$(BUILD_NUMBER)" /> 

Run msbuild et passer le numéro de build souhaité en tant que paramètre:

msbuild abc.sln /p:BUILD_NUMBER=1.2.3.4