Si (1) vous ne voulez pas télécharger ou créer un exécutable qui permet de récupérer la version de l'assembly et (2) vous n'avez pas l'esprit de l'édition du fichier de projet Visual Studio, alors il existe une solution simple qui vous permet d'utiliser une macro qui ressemble à ceci:
@(Cibles->'%(Version)')
@(VersionNumber)
Pour ce faire, décharger votre projet. Si le projet quelque part définit un <PostBuildEvent> propriété, le couper de la le projet et l'enregistrer ailleurs temporairement (le bloc-notes?). Puis à la fin du projet, juste avant la balise de fin, le lieu ce:
<Target Name="PostBuildMacros">
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
<Output TaskParameter="Assemblies" ItemName="Targets" />
</GetAssemblyIdentity>
<ItemGroup>
<VersionNumber Include="@(Targets->'%(Version)')"/>
</ItemGroup>
</Target>
<PropertyGroup>
<PostBuildEventDependsOn>
$(PostBuildEventDependsOn);
PostBuildMacros;
</PostBuildEventDependsOn>
<PostBuildEvent>echo HELLO, THE ASSEMBLY VERSION IS: @(VersionNumber)</PostBuildEvent>
</PropertyGroup>
Cet extrait a un exemple <PostBuildEvent> déjà en elle. Pas de soucis, vous pouvez le réinitialiser votre véritable événement post-build après avoir re-chargé du projet.
Maintenant, comme promis, la version de l'assembly est disponible pour votre événement post-construction avec cette macro:
@(VersionNumber)
Fait!