Question

Y at-il une possibilité d'inclure l'année en cours par l'intermédiaire DateTime.Now.Year dans le AssemblyInfo.cs fichier?

J'ai essayé:

[assembly: AssemblyCopyright("Copyright " + DateTime.Now.Year)]

Mais il semble l'argument ne peut être une expression constante.

Était-ce utile?

La solution

Comme on l'a dit, vous ne pouvez pas mettre en valeurs des attributs qui ne sont pas constantes. DateTime.Now est pas une valeur constante et ne peut donc pas être utilisé dans un attribut.

Si vous voulez en particulier ce comportement, vous pouvez ajouter un script une étape de pré-compilation qui insère la date dans les fichiers.

Personnellement, étant donné la vitesse à laquelle les changements de l'année, il serait temps mal passé à créer une tâche autonome de le faire. J'ai de nombreux projets qui ont « 2009 » dans leur info Assemblée. J'ai une tâche dans ma liste pour compléter la nouvelle année, pour lancer un outil Regex pour rechercher et remplacer toutes les instances de « 2009 » avec « 2010 » dans les fichiers AssemblyInfo.cs.

Je dirais que cela est beaucoup moins de travail que l'intégration dans votre processus de construction.

Autres conseils

Ceci peut être automatisé, mais vous aurez besoin d'utiliser une méthode qui manipule le fichier AssemblyInfo.cs pré-construction.

Si vous êtes en train de faire ce bien?

A terme du droit d'auteur ne redémarre pas lorsque vous reconstruisez votre code. Si le droit d'auteur est actuellement 2009, il devrait rester à 2009 quelle que soit l'année en cours, à moins que vous apportez des modifications importantes du code * en un an plus tard.

* Pour la valeur « importante » dont vous avez besoin de consulter un avocat, pas un développeur de logiciel.

Ceci est impossible car dans les attributs .NET ne peuvent contenir que des expressions constantes. Vous pouvez utiliser un avant de compiler étape qui modifie le fichier et insère l'année en cours.

Utiliser @ {0} dans le fichier Microsoft AssemblyInfo.cs et utiliser string.Format du côté du serveur pour remplacer {0} avec la valeur de l'année en cours.

Il est possible à l'aide des fichiers de modèle. Jetez un oeil à ma réponse sur le fil suivant

afficher Dynamiquement année en cours dans les informations Assemblée

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top