Alors., J'ai mis à jour le lien et ajouté à court d'informations sur cette solution afin d'éviter toute confusion..
Les Plugins
vsSolutionBuildEvent
Maintenant, nous avons une solution complète en tant que vsSolutionBuildEvent (ou simple vsSBE):
Étendu la gestion des événements dans MS Visual Studio.. description complète et tous les exemples/scripts vous pouvez le voir sur la page de la galerie ci-dessus
En général pour ce problème(question): ce plugin fournit d'autres événements/actions telles que:
Avertissements-Construction, Des Erreurs-Construire, De Sortie De Construire, De Pré-Construction, De Post-Construction, D'Annuler La Construction, De L'Émetteur
pour tous les sous-projets à la fois(Solution de large) ou pour chacun individuellement
Pris En Charge Visual Studio
Version prise en charge de la MS Visual Studio >= 2010 (versions Exprès.. vous savez., voir aussi l' Extension de l'Outil sur VS2013 Express, peut-être aider à comprendre :))
Sources (pour les développeurs)
Oui, il est, voir les liens aussi sur la page de la galerie
Comment cela fonctionne à l'intérieur (pour les développeurs)
Événements de Solution
De base AVANT et après les manifestations pour la solution fonctionne avec Microsoft.VisualStudio.Shell.Interop
Ainsi, le simple IVs.. l'interface de l'application peut résoudre tous nos problème :) le droit ?
MSBuild Moteur
Le MSBuildParser utilisé pour des travaux avec le MSBuild (par exemple, MSBuild Concept - Propriété de la Fonction) - permet également de travailler avec l'environnement du projet individuel en tant que $(var:projet), et de certains contrats pour des travaux supplémentaires avec des variables et des autres (voir aussi la développer direction de)
c'est à dire que vous pouvez utiliser, par exemple:
$(MSBuildBinPath)\MSBuild "$(ProjectPath.Replace('\', '/'):Version)"
/t:Build /p:Configuration=Release
...
$([System.Guid]::NewGuid())
$([System.DateTime]::Now.ToString("yyyy.MM.dd HH:mm:ss"))
...
où 'Version' - le projet sélectionné dans votre chargé de solution. Exemple complet avec contrôle de version et d'autres, voir dans le projet doc. - parce que ce n'est pas lié pour le problème actuel (question)
L'analyseur utilise le MSBuild Référence de l'API:
- Microsoft.Construire.BuildEngine
- Microsoft.Construire.La Construction
- Microsoft.Construire.Conversion
- Microsoft.Construire.Débogage
- Microsoft.Construire.L'évaluation
- Microsoft.Construire.Exceptions
- Microsoft.Construire.L'exécution
- Microsoft.Construire.Cadre
- Microsoft.Construire.La journalisation
- Microsoft.Construire.Tâches
- Microsoft.Construire.Utilitaires
Remarque sur l'utilisation - Microsoft.Construire.BuildEngine:
Moteur & Projet de Classe a été supprimée. Cette API est maintenant obsolète.
Par conséquent, la vsSBE utilise l' Évaluation de l'espace de Noms
EnvDTE
Le EnvDTE pour tout le reste.. je veux dire: toutes les Erreurs/d'Avertissement, tous les événements de construction, etc. peut attraper avec toute action personnalisée