0
<link rel="stylesheet" type="text/css" href="../Content/Dashboard/CustomTooltip.css?v=<%= System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).FileVersion %>" />
几个问题:向CSS文件添加一些自动版本控制。我怎么会无法拉出组装信息?
- 这是要去关于此问题的方法好吗?这个想法是,当我们的产品组装信息发生变化时,版本更新,CSS文件的路径被修改并使缓存失效。
- 如果我将C#代码放入监视窗口中,我会看到正确的版本信息,但在.aspx页面中却无法加载它。没有错误信息,但它只是说.css?v =没有版本。
感谢
编辑:好像它是与这回事反射。如果我说:
System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
我在监视窗口看到正确的名称,但在.aspx页面上进行评估时,它是App_Web_35(不正确)。任何想法如何解决这个问题?编辑2:我结束了一个我不太满意的解决方案,但很想听听其他输入。我只是把:
protected string GetApplicationVersion()
{
return System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion;
}
我的CS相关页面上 - 然后在代码behing我叫<%GetApplicationVersion()%>,现在愉快地返回正确的信息。不过,我希望它可以内联。
为什么一个CSS文件?我目前只是使用?t = <%DateTime.Now.Ticks%>,这对于在开发过程中完全防止缓存很有效...... –
是的,你可以附加一个随机数或类似的东西,以确保它没有被缓存。但我认为你想不同的CSS文件。 – dknaack