Maintenant, j'écris VS 2008 Macro pour remplacer la version d'assemblage dans le fichier AssemblyInfo.cs. À partir de MSDN, la version d'assembly doit être écrite en utilisant le modèle suivant.Quelle est l'expression régulière pour mettre à jour le numéro de build de l'assembly dans le fichier AssemblyInfo.cs?
major.minor [.build [.revision]]
Exemple
- 1,0
- 1.0.1234
- 1.0.1234.0
Je dois générer dynamiquement le numéro de build pour le fichier 'AssemblyInfo.cs' et utiliser Regular Expression pour remplacer l'ancien numéro de build par le nouveau numéro de build généré.
Avez-vous des Expressions Régulières pour résoudre cette question? De plus, le numéro de build ne doit pas être contenu dans une déclaration commentée comme ci-dessous. Enfin, n'oubliez pas de vérifier votre regex pour le commentaire en ligne.
Ne remplacez aucun numéro de build a commenté
//[assembly: AssemblyVersion("0.1.0.0")]
/*[assembly: AssemblyVersion("0.1.0.0")]*/
/*
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("0.1.0.0")]
*/
Remplacer le numéro de build qui ne sont pas commenté
[assembly: AssemblyVersion("0.1.0.0")] // inline comment
/* inline comment */ [assembly: AssemblyVersion("0.1.0.0")]
[assembly: /*inline comment*/AssemblyVersion("0.1.0.0")]
Conseil.
S'il vous plaît essayer votre regex à Online Regular Expression Testing Tool
Cette expression régulière ne corrige pas parce que j'ai besoin de détecter le commentaire de cet attribut. Mais votre regex ne peut pas le détecter. –
Pouvez-vous clarifier? voulez-vous que l'astérisque soit remplacé dans le commentaire ou non? Si vous souhaitez que le remplacement se produise à l'intérieur des lignes commentées, vous pouvez supprimer le caractère^au début de l'expression régulière. Cela supprimera l'exigence que la correspondance se produise au début d'une ligne. –
Veuillez lire ma question de réécriture. –