Comment lire les assemblyversion de assemblyInfo.cs?
Hii,
il y a beaucoup d'autres l'avaient déjà post, donc beaucoup de question à ce sujet..Mais ici, le scénario est différent.
J'ai besoin d'extraire les trois premiers chiffres ie. $(major).$(Minor).$(Build)
de numéro de version.
comment puis-je le faire??..j'ai essayé AssemblyInfo
Tâche..mais cette tâche est juste pour écraser le numéro de version.ne pas extraire le numéro de version.
J'ai besoin d'extraire des trois premiers nombre et de les affecter à certains biens.pour une utilisation ultérieure.
bien,je peux les écraser à l'aide FileUpdate
tâche.aime ::
<FileUpdate
Files="@(AssemblyFile)"
Regex='(\d+)\.(\d+)\.(\d+)\.(\d+)'
ReplacementText='$1.$2.$3.$(Revision)'>
</FileUpdate>
maintenant, comment puis-je utiliser leur valeur ie. $1,$2,$3
à attribuer aux propriétés.???
Merci.
OriginalL'auteur Divya mohan Singh | 2010-01-11
Vous devez vous connecter pour publier un commentaire.
La seule solution est d'écrire une version personnalisée de la tâche, et d'analyser le numéro de version manuellement dans le code.
Eh bien, j'ai écrit ma propre tâche et j'ai utilisé de la simple chaîne de méthodes pour analyser le numéro de version, mais je suis sûr que vous pouvez le faire avec les regex. Mais vous devrez écrire votre propre tâche, pour cela de toute façon, sauf si vous trouvez un out-of-the-box solution.
blog.tentaclesoftware.com/archive/2009/05/03/38.aspx
OriginalL'auteur Gerrie Schenck
Vous pouvez lire les lignes de fichiers, d'obtenir de la chaîne à l'aide de regex et de la modifier si vous avez besoin. Et si vous êtes à l'aide de MSBuild 4.0, vous pouvez utiliser les Fonctions de Propriété, qui vous donnent un accès à l' .NET DE L'API.
Cet exemple devrait vous donner trois premiers numéros de la AssemblyVersion.
http://blogs.msdn.com/b/visualstudio/archive/2010/04/02/msbuild-property-functions.aspx
OriginalL'auteur Alex Isayenko
Génial fil, en s'appuyant sur le travail d'Alex et de RobPol, j'ai été en mesure de définir l'étendue des propriétés msbuild qui est inspirée par semver.org (Majeur, Mineur, Patch, version Préliminaire). J'ai choisi d'analyser le AssemblyInformalVersion puisque c'est le seul attribut compatible avec SemVer. Voici Mon exemple:
Vous pouvez tester le résultat de cette opération en ajoutant les lignes suivantes à votre .csproj:
Ex: Extrait de mon AssemblyInfo.cs:
Sera de sortie: Majeur: '0', Mineur: '9', Patch: '1', Préliminaire: 'bêta'
réponse impressionnante. Fonctionne pour moi.
C'est M-A-G-I-C!
J'ai envie de faire l'amour doux à cette réponse.
OriginalL'auteur Emil G
Bâtiment sur Alex réponse, j'ai utilisé les RegEx pour lire la AssemblyVersion (et autres informations) et de l'utiliser dans mon WiX/MSI nom de fichier et les chaînes de version. Espérons que ma réponse n'est pas trop bruyant.
Voici le haut de mon .wixproj fichier. Les Points d'intérêt sont la première PropertyGroup, OutputName, et DefineConstants:
Et puis dans un .wxi fichier j'ai ceci:
Et enfin dans mon Produit.wxs:
OriginalL'auteur Robpol86
Je viens de trouver sur google, qui pourrait aider:
http://msdn.microsoft.com/en-us/library/system.reflection.assemblyname.version%28v=VS.90%29.aspx
En particulier:
OriginalL'auteur lanoxx
Si vous voulez être en mesure de traiter votre fichier AssemblyInfo avec 100% de précision, vous pouvez utiliser un C# tâche + Roslyn.
OriginalL'auteur Michael Baker
Vous pouvez utiliser MSBuild.De la communauté.Les tâches.AssemblyInfo.AssemblyVersion pour accéder à AssemblyVersion et AssemblyFileVersion de AssemblyInfo.cs.En effet, cette tâche ne peut être utilisée pour définir la version.
Peut-être ce post est utile.
Peut-être cela peut vous aider: weblogs.asp.net/dmckinstry/archive/2007/02/06/...
OriginalL'auteur Filburt
- Je utiliser le RegexMatch-tâche MSBuild.De la communauté.Les tâches.
Vous pouvez écrire la sortie du match pour une itemgroup, même si vous voulez le lire en 3 propriétés, comme ci-dessus, une coutume tâche sera alors préféré.
OriginalL'auteur Bart Janson