<link rel="stylesheet" type="text/css" href="../Content/Dashboard/CustomTooltip.css?v=<%= System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).FileVersion %>" />
几个问题:
- 这是解决这个问题的好方法吗?这个想法是,当我们的产品组装信息发生变化时,版本更新,CSS文件的路径被修改并使缓存失效。
- 如果我将 C# 代码放入监视窗口,我会看到正确的版本信息,但在 .aspx 页面中它无法加载它。没有错误消息,但它只是说 .css?v= 没有版本。
谢谢
编辑:这似乎与正在发生的反射有关。如果我说:
System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
我在监视窗口中看到了正确的名称,但是在 .aspx 页面上进行评估时,它是 App_Web_35(不正确)。知道如何解决这个问题吗?
Edit2:我最终选择了一个我不太满意的解决方案,但很想听听其他意见。我只是说:
protected string GetApplicationVersion()
{
return System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion;
}
在我相关的 CS 页面上——然后在我调用的代码中 <% GetApplicationVersion() %> 现在它很高兴地返回了正确的信息。不过,我希望它可以内联。