Puis-je append des chaînes de version personnalisées à une DLL .net?

Je peux append des chaînes de version personnalisées à une DLL C ++ dans Visual Studio en modifiant manuellement le fichier .rc. Par exemple, si j’ajoute à la section VersionInfo du fichier .rc

VALUE "BuildDate", "2008/09/19 15:42:52" 

Cette date est ensuite visible dans l’explorateur de fichiers, dans les propriétés de la DLL, sous l’onglet Version.

Puis-je faire la même chose pour une DLL C #? Pas uniquement pour la date de construction, mais pour d’autres informations de version (telles que les informations de contrôle de source)

UPDATE: Je pense qu’il pourrait y avoir un moyen de faire cela en incorporant une ressource Windows, alors j’ai demandé comment faire .

En développant la réponse de Khoth, dans AssemblyInfo.cs:

Tu peux faire:

 [assembly: CustomResource("Build Date", "12/12/2012")] 

Où CustomResource est défini comme:

 [AtsortingbuteUsage(AtsortingbuteTargets.Assembly)] public class CustomResourceAtsortingbute : Atsortingbute { private ssortingng the_variable; public ssortingng Variable {get { return the_variable; }} private ssortingng the_value; public ssortingng Value {get { return the_value; }} public CustomResourceAtsortingbute(ssortingng variable, ssortingng value) { this.the_variable = variable; this.the_value = value; } } 

Cette solution est intéressante car elle vous offre la flexibilité dont vous avez besoin et ne génère aucun avertissement pour le compilateur.

Malheureusement, il n’est pas possible d’utiliser un DateTime car les valeurs entrées dans les atsortingbuts doivent être des constantes et un DateTime n’est pas une constante.

Dans AssemblyInfo.cs, vous pouvez mettre:

 [assembly: System.Reflection.AssemblyInformationalVersion("whatever you want")] 

C’est un avertissement du compilateur s’il ne s’agit pas d’un nombre comme 1.2.3.4, mais je suis à peu près sûr que tout fonctionnera.