2017-07-24 5 views
1

Ich möchte in der Fußzeile eines ASP.NET-Core 1,1Wie erhält man den ASP.NET Core Anwendungsnamen?

© 2017 MyApplication

<p>&copy; 2017 @(ApplicationName)</p> 

Wie kann ich Namen bekommen die Anwendung do angezeigt werden?

fand ich an article zu diesem Thema, aber es ist verwirrend über PlatformServices.Default.Application.ApplicationName, weil es nicht Microsoft.Extensions.PlatformAbstractions verwenden, sagt sie, aber nicht sagen, was stattdessen für die Anwendungsnamen zu verwenden ...

+0

Anstatt es auf den Namen der Assembly zu binden, ich glaube, eine bessere Lösung einfach sein würde, den genauen Text, den Sie in der Layout-Datei setzen wollen. –

+0

@NateBarbettini Der genaue Text, den ich haben möchte, ist der Name der Anwendung, der in den Projekteigenschaften ausgefüllt ist. – Serge

Antwort

1

Sie könnten versuchen:

@using System.Reflection; 
<!DOCTYPE html> 
<html> 
.... 

    <footer> 
     <p>&copy; 2017 - @Assembly.GetEntryAssembly().GetName().Name</p> 
    </footer> 
</html> 

ich bin nicht sicher, ob es ein guter Weg ist, aber es funktioniert für mich :)

enter image description here

+0

Was sollte der gute Weg sein, den Anwendungsnamen in Ressourcendateien zu setzen? – Serge

+0

Nur für den Anwendungsnamen, ich bevorzuge den exakten Text in der Layoutdatei, weil der Anwendungsname nicht häufig geändert wird. :) BTW, Entwickler intuitiv zu verstehen, wo es ist. –

1

Es gibt viele Wege, dies zu erreichen. Hier ist, wie ich es in meinen Projekten mache.

Normalerweise habe ich einen anderen Projektnamen als den Anwendungsnamen, der Leerzeichen oder viel länger haben könnte. Also, ich behalte den Projektnamen und die Versionsnummer in appsettings.json Datei.

appsettings.json

{ 
    "AppSettings": { 
    "Application": { 
     "Name": "ASP.NET Core Active Directory Starter Kit", 
     "Version": "2017.07.1" 
    } 
    } 
} 

Startup.cs

Lasteinstellung von appsettings.json Datei in AppSettings POCO. Es wird dann automatisch im DI-Container als IOptions<AppSettings> registriert.

public void ConfigureServices(IServiceCollection services) 
{ 
    services.AddOptions(); 
    services.Configure<AppSettings>(Configuration.GetSection("AppSettings")); 
} 

AppSettings.cs

Hinweis: Ich habe einige andere Einstellungen, so dass ich sie alle zusammen in AppSettings POCO halten.

public class AppSettings 
{ 
    public Application Application { get; set; } 
} 

public class Application 
{ 
    public string Name { get; set; } 
    public string Version { get; set; } 
} 

Usage (_layout.cshtml)

Inject IOptions<AppSettings> zu sehen. Sie können es auch in den Controller injizieren, wenn Sie möchten.

@inject IOptions<AppSettings> AppSettings 

<footer class="main-footer"> 
    @AppSettings.Value.Application.Version 
    @AppSettings.Value.Application.Name</strong> 
</footer> 

enter image description here

Verwandte Themen