我想在ASP.NET Core 1.1的页脚中显示
©2017 MyApplication
<p>© 2017 @(ApplicationName)</p>
如何获取应用程序名称?
我在这个问题上找到了an article,但它对PlatformServices.Default.Application.ApplicationName
感到困惑,因为它说不使用Microsoft.Extensions.PlatformAbstractions
,但是没有说明要用什么代替应用程序名称......
答案 0 :(得分:3)
你可以尝试:
@using System.Reflection;
<!DOCTYPE html>
<html>
....
<footer>
<p>© 2017 - @Assembly.GetEntryAssembly().GetName().Name</p>
</footer>
</html>
我不确定这是一个好方法,但它适用于我:)
答案 1 :(得分:1)
有很多方法可以实现它。这是我在项目中的表现。
我通常有项目名称与应用程序名称不同,可能有空格或更长。所以,我将项目名称和版本号保存在appsettings.json
文件中。
<强> appsettings.json 强>
{
"AppSettings": {
"Application": {
"Name": "ASP.NET Core Active Directory Starter Kit",
"Version": "2017.07.1"
}
}
}
<强> Startup.cs 强>
将appsettings.json
文件中的设置加载到AppSettings
POCO中。然后它会自动在DI容器中注册为IOptions<AppSettings>
。
public void ConfigureServices(IServiceCollection services)
{
services.AddOptions();
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));
}
<强> AppSettings.cs 强>
注意 :我有一些其他设置,以便我将它们全部放在AppSettings POCO中。
public class AppSettings
{
public Application Application { get; set; }
}
public class Application
{
public string Name { get; set; }
public string Version { get; set; }
}
<强> Usage (_layout.cshtml) 强>
将IOptions<AppSettings>
注入视图。 如果您愿意,也可以将其注入控制器。
@inject IOptions<AppSettings> AppSettings
<footer class="main-footer">
@AppSettings.Value.Application.Version
@AppSettings.Value.Application.Name</strong>
</footer>