2017-01-16 5 views
0

kennt Ich bin ein totaler Anfänger so entschuldigen Sie mich Wenn ich keine Frage richtig stelle. Also, ich habe ein ASP.Net MVC - 5 Projekt. Also wenn ich irgendeine Änderung mache, führe ich es auf localhost aus und dann veröffentliche ich es nach dem Testen auf dem Live-Server. Jetzt möchte mein Manager, dass ich auf der Website die Version der Website, die ich gerade betreibe, zeige. Ich meine, gibt es eine Version oder Build-Nummer oder etwas, das geändert wird für jedes Mal, wenn wir die Website veröffentlichen. Ich meine, muss ich mit der rechten Maustaste auf die Eigenschaft auf dem Projekt klicken und eine Versionsnummer oder DLL-Nummer abrufen oder etwas, das sich bei jeder Veröffentlichung ändert. Bitte führe mich hier ein wenig. Ich weiß nicht, wie ich diese Frage richtig stellen soll.Wie man die Web site Version in ASP.net MVC

Ab jetzt kann ich das Datum meiner Website:

System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); 
    FileInfo fileInfo = new FileInfo(assembly.Location); 
    string lastModified = fileInfo.LastWriteTime.Date.ToShortDateString() + " " + fileInfo.LastWriteTime.ToLongTimeString(); 

Kann ich holen andere Details zu in Bezug auf die Version oder so etwas.

habe ich versucht, zwei Lösungen in cshtml

<div> 
     @{ 
      System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); 
      FileInfo fileInfo = new FileInfo(assembly.Location); 
      string lastModified = fileInfo.LastWriteTime.Date.ToShortDateString() + " " + fileInfo.LastWriteTime.ToLongTimeString(); 
      var e = @ViewContext.Controller.GetType().Assembly.GetName().Version; 
      string version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); 
     } 

</div> 

e kehrt 10.999.999.999

Version kehrt 0.0.0.0

Bitte leite mich.

EDIT:

Schritt 1:

Also änderte ich die Build-Nummer von Register Eigenschaften-10.999.7.9

Jetzt ist es mein geändert assembly.cs zu

[assembly: AssemblyVersion("10.999.7.9")] 

[assembly: AssemblyFileVersion("10.999.999.999")] 

Schritt 2: AutoIncrement

Nun ist die SO LINK schlägt unter zwei Zeilen auszukommen

[assembly: AssemblyVersion("10.999.7.9")] 
[assembly: AssemblyFileVersion("10.999.999.999")] 

und ersetzen mit

[assembly: AssemblyVersion("1.0.*")] 

Also, ich bin hier verwirrt. Soll ich beide Zeilen kommentieren? Aber es wird die Wirkung von [assembly: AssemblyVersion("10.999.7.9")]

+0

Sie das bedeuten? Sie können dies in Ihrer Ansicht verwenden. '@ ViewContext.Controller.GetType(). Assembly.GetName(). Version' –

+0

Ändert sich dies bei jeder Veröffentlichung auf Live-Server? – Unbreakable

+0

oder es ist das gleiche für einmal und alle. – Unbreakable

Antwort

0

mir nicht genug rep nehmen Stellung zu nehmen, damit es als Antwort zu schaffen

ich mit manueller Art und Weise bin zu erklären:

jedes Mal, wenn Sie Ihren Code aktualisieren - Versuchen Sie, die AssemblyVersion und AssemblyFileVersion in Properties \ AssemblyInfo zu aktualisieren.cs Ihres Projekts AssemblyInfo

In Ihrem Controller, eine Methode, die das Ausführen von assembly`s Versionsnummer wie unten zurück (hier kehre ich es als HttpResponseMessage)

var version = (Assembly.GetExecutingAssembly().GetName().Version.ToString()); 
     return new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(version) }; 

Hoffnung, das hilft.

+0

Ich möchte es nicht manuell machen. – Unbreakable

+0

Haben Sie das versucht? http://stackoverflow.com/a/2070500/7411070 – ManiVI

0

Können Sie das versuchen -:

public ActionResult Index() 
    { 
     var assemblyversion = this.GetType().Assembly.GetName().Version;    
     ViewBag.VersionNumber = assemblyversion; 
     //Pass the viewbag to the view 
     return View(); 
    } 
Verwandte Themen