Comment spécifier l'emplacement de la solution de fichier pour les fichiers d'information de l'assemblage de la version contente dans Msbuild
-
26-12-2019 - |
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.
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.