<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/