Ich verwende den folgenden Code in einer Fußzeile in meiner Datei _Layout.cshtml, um die Versionsdaten von AssemblyInfo in die Fußzeile jeder Seite meiner MVC3-Site einzufügen. Jedoch:
@System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()
Druckt einfach in der Fußzeile:
Revision 0.0.0.0
Als ich die Ansicht so geändert habe, dass alle Baugruppeninformationen für die "Ausführung der Baugruppe" wie folgt angezeigt werden
@System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString()
Welches druckt das folgende:
Revision App_Web__layout.cshtml.639c3968.hlogy75x, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
Dies zeigt, dass die "Executing Assembly" nicht meine Haupt-App ist, sondern die Ansicht selbst.
Wie erhalte ich die Baugruppeninformationen für die IST-App, nicht nur die einzelnen Ansichten?
c#
asp.net-mvc-3
reflection
assemblies
razor
Jay Stevens
quelle
quelle
@GetType(YourApplicationNamespace.MvcApplication).Assembly.GetName.Version
für alle VB.NETer. Wir beide.@typeof(YourDefaultNamespace.WebApiApplication).Assembly.GetName().Version
. Es kann sogar ohne den Standard-Namespace funktionieren:@typeof(WebApiApplication).Assembly.GetName().Version
@typeof(YourApplicationNamespace.MvcApplication).Assembly.GetName().Version.ToString(3)
Gibt 3 der 4 Teile der Baugruppenversion zurück, wenn jemand neugierig ist. Sie können zwischen 0 und 4 variieren.@{Version version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;}
dann<h1>Ver. @version</h1>
Die Verwendung dieses Helfers funktioniert für mich:
quelle
Das funktioniert bei mir. Ohne den Typ explizit erwähnen zu müssen.
quelle
Sie müssen die Baugruppe eines Typs im Projekt erhalten:
Wo
MyType
befindet sich ein Typ im MVC-Projekt selbst (z. B. ein Controller oder Modell oder dieMvcApplication
Klasse)?quelle
Erweitern Sie die Antwort von takepara, wenn Sie möchten, dass ein Einzeiler das AssemblyInformationalVersionAttribute aus einer MVC Razor-Ansicht erhält:
quelle
Sie könnten versuchen, GetCallingAssembly () zu verwenden. Ich bin nicht sicher, ob dies im Aufrufstapel hoch genug ist oder nicht, aber da Razor tatsächlich eine Assembly für jede Ansicht erstellt, liegt es nahe, dass Ihre App die aufrufende Assembly für die Ansichtsassembly ist.
quelle
Mein Problem war, dass ich den Namespace danach umbenannt hatte und den obigen Fehler bekam. Das Problem war die alte Namespace-Referenz in Views \ Web.config. Ich musste es von
Project.WebAPI17
auf ändernCompany.Project.WebAPI17
quelle
Sie können es mit der Name-Eigenschaft wie folgt erhalten:
ist es das, wonach du suchst?
quelle
Gehen Sie zu Home Controller und kopieren Sie einfach diesen Code:
In
ActionResult
String umbenennenquelle