c# - 如何从 Razor View 获取产品版本

标签 c# asp.net .net razor

我正在尝试在 Razor View (_Layout.cshtml) 中显示我的产品版本。我正在做这样的事情:

<script>
alert('@FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).ProductVersion');
alert('@Assembly.GetExecutingAssembly().Location');
</script>

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

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

显然这不是我的程序集文件。有没有简单干净的方法从 Razor View 获取程序集版本?

最佳答案

编辑以获得更好的答案

我猜它正在尝试获取 Razor 引擎的版本,而不是您的应用程序。因此,解决方法是在 Controller 中获取此信息并通过 viewbag 将其发送到 View 。

在你的 Controller 中添加 -

ViewBag.Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;

在你的 View 中添加 -

<h1>@ViewBag.Version</h1>

关于c# - 如何从 Razor View 获取产品版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13238688/

相关文章:

c# - 为 Canvas 上重叠的矩形触发 MouseDown 事件

asp.net - 使用 onkeypress 时 window.location.href 在 Safari 中不起作用

asp.net - 使用 jQuery 打开新页面的模态对话框

c# - 当我们没有析构函数时为什么要调用 SuppressFinalize

.net - .NET 中的声明性线程安全

c# - ComboBox 刷新 ListBox

c# - 为 Winforms 应用程序添加命令行支持

asp.net - 仅显示安全内容

.net - 在服务实现的合约列表中找不到 IMetaDataExchange

c# - 请帮助使用 o'brian 或 macdonald 等名称的正则表达式