Comment spécifier l'emplacement de la solution de fichier pour les fichiers d'information de l'assemblage de la version contente dans Msbuild

StackOverflow https://stackoverflow.com//questions/25075651

Question

Je joue avec cela pendant une journée mais pas de chance. L'Assemblée Versioning avec Msbuild utilisait auparavant, mais récemment, nous avons déplacé les fichiers de solution dans un dossier séparé dans la racine du projet, et depuis lors, le Versioning n'a pas fonctionné.

ci-dessous est la structure du projet

Dossier de code

-> Dossier ProjectA

-> Dossier du projet

-> Dossier de projecteur

-> Dossier Solutions

* Les fichiers Solutions (.SLN) précédemment étaient sous le dossier de code.

Lorsque nous exécutons la msbuild, je reçois l'avertissement ci-dessous.

aucun fichier d'information de montage n'a été fourni

ci-dessous est une version de coupe du journal de construction.

Supprimer les espaces de travail

00:00 Delete Source Directory Répertoire

00:00 Créer un espace de travail

01:14 Obtenez l'espace de travail

00:00 Assemblages de Versioning

00:00 Version de l'assemblage de montage et de montageFileversion Traitement: Utilisation des modèles de numéro de version inclus dans la définition de construction

00:00 Définir toutes les valeurs de la propriété de montage (B) Assemblages de Versioning avec Les modèles suivants: MontageVersion (1.0.0.0) et AssemblyFileVersion (yyyy.mm.dd.b) aucun fichier d'information de montage n'était fourni

ci-dessous est la tâche MSBUILD qui produit le journal ci-dessus.

  <local:VersionAssemblyInfoFiles 
    AssemblyFileVersionPattern="[AssemblyFileVersionPattern]" 
    AssemblyInfoFilePattern=" AssemblyInfoFilePattern]" 
    AssemblyVersionPattern="[AssemblyVersionPattern]" 
    BuildDirectory="[BuildDirectory]" BuildNumberPrefix=" 
   [BuildNumberPrefix]" BuildSettings="[BuildSettings]" 
    DisplayName="Versioning Assemblies" 
    DoCheckinAssemblyInfoFiles="[DoCheckinAssemblyInfoFiles]" 
    ForceCreateVersion="[ForceCreateVersion]" 
    sap:VirtualizedContainerService.HintSize="200,22" 
    mva:VisualBasic.Settings="Assembly references and imported namespaces 
   serialized as XML namespaces" UseVersionSeedFile="[UseVersionSeedFile]" 
   VersionSeedFilePath="[VersionSeedFilePath]" Workspace="[Workspace]" 
   xmlns:local="clr-namespace:TfsBuild.Versioning.Activities;
   assembly=TfsBuild.Versioning.Activities">

      <sap:WorkflowViewStateService.ViewState>
        <scg:Dictionary x:TypeArguments="x:String, x:Object">
          <x:Boolean x:Key="ShouldCollapseAll">False</x:Boolean>
          <x:Boolean x:Key="ShouldExpandAll">True</x:Boolean>
        </scg:Dictionary>
      </sap:WorkflowViewStateService.ViewState>
 </local:VersionAssemblyInfoFiles>

J'ai également examiné la solution suggérée ici mais n'a pas de chance. Quelqu'un peut-il me signaler à la bonne direction? Je n'ai aucun expert à Msbuild.

Merci d'avance.

Était-ce utile?

La solution

J'ai fini par faire la solution suivante. Nous n'avons pas la possibilité de déplacer toutes les solutions au niveau de racine du projet.

a. Créer une nouvelle solution I.e SOMADP.LIB.VERSIONING.SLN Cette solution vivrait dans le dossier racine et il est utilisé uniquement pour la version du reste des projets.

b. Le projet (.csproj) pour le SOMAIP.LIB.VERSIONING.SLN vivrait au même niveau que le reste des projets.

La nouvelle structure est donc

Dossier de code

-> Dossier ProjectA

-> Dossier du projet

-> Dossier de projecteur

-> Dossier Solutions

-> someapp.lib.versioning.sln

-> Dossier SOMADP.LIB.VERSIONING

c. Maintenant, je référons le SOMAIP.LIB.VERSIONING.PROJ de l'une des solutions dans le dossier Solutions. Cela signifie SOMAIP.LIB.VVERSIONING.PROJ a deux solutions attachées à frapper.

d. Le projet qui affiche la version de construction utiliserait le fichier de classe de type i.e de SOMAIP.LIB.VERSIONING.PROJ

Selon la version standard version SOMADP.LIB.VVERSIONING.PROJ aurait la version de version correcte (SOMAIP.LIB.VVERSIONING.SLN est au niveau de la racine)

Remarques: Ceci est juste un travail autour et pas une solution idéale. Ce ne sera pas une version toutes les assemblées dans le projet. Par exemple, si nous voulons savoir quelle assemblée a été construite dans quelle version, cela ne va pas fonctionner. Il ne s'agit que d'un support pour obtenir la version de construction de la solution.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top