c# - 向 CSS 文件添加一些自动版本控制。为什么我无法提取装配信息?

标签 c# asp.net css assemblyinfo auto-versioning

<link rel="stylesheet" type="text/css" href="../Content/Dashboard/CustomTooltip.css?v=<%= System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).FileVersion %>" />

几个问题:

  • 这是解决问题的好方法吗?这个想法是当我们的产品组装信息发生变化时,版本更新,CSS 文件的路径被修改并使缓存失效。
  • 如果我将 C# 代码放入监 window 口,我会看到正确的版本信息,但在 .aspx 页面中无法加载它。没有错误消息,但它只是说 .css?v= 没有版本。

谢谢

编辑:这似乎与正在进行的反射有关。如果我说:

System.Reflection.Assembly.GetExecutingAssembly().GetName().Name

我在监 window 口中看到正确的名称,但在 .aspx 页面上评估时它是 App_Web_35(不正确)。知道如何解决这个问题吗?

Edit2:我最终选择了一个我不太满意的解决方案,但很想听听其他意见。我只是说:

protected string GetApplicationVersion()
{
    return System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion;
}

在我的相关 CS 页面上——然后在我调用 <% GetApplicationVersion() %> 的代码中,现在它很高兴地返回了正确的信息。不过,我希望它可以内联。

最佳答案

css 文件是静态的,就像 html 一样。考虑创建不同的 css 文件并这样调用它

<link rel="stylesheet" type="text/css" href="../Content/Dashboard/CustomTooltip_<%= `System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAsse`m`bly().Location).FileVersion %>.css" />`

所以你需要一个像这样的 css 文件 ../Content/Dashboard/CustomTooltip_1.0.css

关于c# - 向 CSS 文件添加一些自动版本控制。为什么我无法提取装配信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7853162/

相关文章:

asp.net - Jquery用户控件

c# - 在 TextBox 之后创建的虚假空间

javascript - 在输入焦点上更改标签的字体大小

c# - 附加属性绑定(bind)不起作用

c# - 是否有一行 - 条件检查和代码执行运算符?

c# - 如何在 html 字符串中找到匹配的结束标记?

c# - Post FromBody 始终为空

asp.net - Blueimp、反向加载和文件扩展名限制

c# - HttpWebRequest,像 Fiddler 一样保持事件状态?

jquery-mobile:摆脱图标阴影