J'utilise le code suivant dans un pied de page de mon fichier _Layout.cshtml pour mettre les données de version AssemblyInfo dans le pied de page de chaque page de mon site MVC3. Toutefois:
@System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()
Imprime simplement dans le pied de page:
Revision 0.0.0.0
Lorsque j'ai modifié la vue pour afficher toutes les informations d'assemblage pour "Executing Assembly" en utilisant ce qui suit
@System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString()
Qui imprime ce qui suit:
Revision App_Web__layout.cshtml.639c3968.hlogy75x, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
Cela montre que "Executing Assembly" n'est pas mon application principale, c'est la vue elle-même.
Comment obtenir les informations d'assemblage de l'application ACTUAL, pas seulement les vues individuelles?
c#
asp.net-mvc-3
reflection
assemblies
razor
Jay Stevens
la source
la source
@GetType(YourApplicationNamespace.MvcApplication).Assembly.GetName.Version
pour tous les VB.NETers. Nous deux.@typeof(YourDefaultNamespace.WebApiApplication).Assembly.GetName().Version
. Cela peut même fonctionner sans l'espace de noms par défaut:@typeof(WebApiApplication).Assembly.GetName().Version
@typeof(YourApplicationNamespace.MvcApplication).Assembly.GetName().Version.ToString(3)
renvoie 3 des 4 parties de la version d'assemblage si quelqu'un est curieux. Vous pouvez varier entre 0 et 4.@{Version version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;}
alors<h1>Ver. @version</h1>
L'utilisation de cet assistant fonctionne pour moi:
la source
Cela fonctionne pour moi. Sans avoir besoin de mentionner explicitement le type.
la source
Vous devez obtenir l'assembly d'un type dans le projet:
Où se
MyType
trouve tout type dans le projet MVC lui-même (par exemple, un contrôleur ou un modèle, ou laMvcApplication
classe)la source
Extension de la réponse de takepara, si vous voulez qu'une seule ligne obtienne le AssemblyInformationalVersionAttribute à partir d'une vue MVC Razor:
la source
Vous pouvez essayer d'utiliser GetCallingAssembly (). Je ne sais pas si cela est suffisamment élevé dans la pile d'appels ou non, mais puisque Razor crée en fait un assembly pour chaque vue, il va de soi que votre application serait l'assembly appelant pour l'assembly de vue.
la source
pour un contrôleur api, j'ai utilisé cela en fonction d'autres réponses
la source
Mon problème était que j'avais renommé l'espace de noms par la suite et j'ai eu l'erreur ci-dessus. Le problème était l'ancienne référence d'espace de noms dans Views \ Web.config. J'ai dû le changer de
Project.WebAPI17
àCompany.Project.WebAPI17
la source
Vous pouvez l'obtenir en utilisant la propriété Name comme ci-dessous:
est-ce ce que vous recherchez?
la source
Allez dans Home Controller et copiez simplement ce code:
Renommer
ActionResult
en chaînela source