2009-05-11 7 views
1

Comment définir la version sur un projet asp.net? comme les propriétés ne contiennent rien ...Contrôle de version ASP.NET

il n'y a aucun fichier de projet dans le dossier où se trouve la page Web.

+0

Qu'espérez-vous faire avec ce numéro de version? Ce n'est pas comme si votre application ASP.NET était référencée par un autre assemblage, n'est-ce pas? Est-ce que vous essayez de dire "c'est la version 1.2 de mon application?" ou autre chose? –

Répondre

7

En supposant que vous utilisez une application Web (plutôt qu'un projet de site Web), vous devriez trouver un fichier AssemblyInfo.cs dans votre dossier "properties".

Il contiendra des attributs tels que:

[assembly: AssemblyVersion("1.0.0.0")] 
[assembly: AssemblyFileVersion("1.0.0.0")] 

Si vous avez un projet de site Web vous pouvez ajouter manuellement un nouveau fichier .cs et de mettre ces attributs en elle.

Vous pouvez trouver plus d'informations sur ces attributs ici (sur le SO):

What are differences between AssemblyVersion, AssemblyFileVersion and AssemblyInformationalVersion?

mise à jour

Après avoir lu juste le message ci-dessus, il pourrait être que AssemblyInformationalVersion est l'attribut plus approprié à utiliser si vous essayez simplement de stocker des informations que vous n'afficherez que pour un utilisateur.

update II

Ceci est du code « rapide et sale » qui va saisir le InformationalVersion du attribuite:

string version = Assembly 
       .GetExecutingAssembly() 
       .GetCustomAttributes(
        typeof(AssemblyInformationalVersionAttribute), true) 
       .Where(x => x.GetType() == 
        typeof(AssemblyInformationalVersionAttribute)) 
       .Cast<AssemblyInformationalVersionAttribute>() 
       .First() 
       .InformationalVersion; 

Si je vous je serais écrire une classe qui détient la valeur de l'attribut, et le code au-dessus qui y accède, de sorte que vous pouvez implémenter votre numéro de version en utilisant cet attribut ou ce que vous voulez et ensuite changer la façon dont vous l'implémentez avec le temps.

+0

Sur un projet de site Web, mais les attributs dans un .cs dans le dossier App_Code de sorte qu'il entre dans l'assembly "code principal". Selon les paramètres de web.config, vous obtiendrez un nombre différent d'assemblys pour les fichiers .as? X. – Richard

+0

Comment obtenir la valeur de "AssemblyInformationalVersion"? – Peter

0

Un site Web ASP.Net n'est pas un projet. Si vous disposez d'un complément de contrôle source nécessitant le fichier projet, vous devez créer votre site en tant que projet d'application Web.

Les projets d'application Web étaient la seule option pour ASP.Net dans Visual Studio 2003 et 2001, mais ont été supprimés en 2005 en faveur du modèle de site Web, puis la fonctionnalité a été rétablie pour VS 2005, mais vous aurez besoin d'installer un complément, vous pouvez lire à ce sujet ici: http://msdn.microsoft.com/en-us/asp.net/aa336618.aspx Dans VS 2008, les projets d'application Web sont construits dans l'ide.