如何从Razor View获取产品版本

lon*_*ero 8 .net c# asp.net razor

我试图在Razor视图(_Layout.cshtml)中显示我的产品版本.我做的是这样的:

<script>
alert('@FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).ProductVersion');
alert('@Assembly.GetExecutingAssembly().Location');
</script>
Run Code Online (Sandbox Code Playgroud)

问题是第一个警报显示0.0.0.0然后,我介绍了第二个警报,它显示了以下位置:

C:WindowsMicrosoft.NETFramework644.0.30319Temporary ASP.NET Filesoot#35f35b93778aeaApp_Web_ztow0zpu.dll

显然这不是我的汇编文件.是否有任何简单而干净的方法从Razor视图中获取装配版本?

Ben*_*nes 12

编辑为更好的答案

我猜它是试图获得Razor引擎的版本,而不是你的应用程序.因此,解决方法是在控制器中获取此信息并通过viewbag将其发送到视图.

在您的控制器添加 -

ViewBag.Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
Run Code Online (Sandbox Code Playgroud)

在您的视图中添加 -

<h1>@ViewBag.Version</h1>
Run Code Online (Sandbox Code Playgroud)