每次重建后都会忽略App_Browsers

时间:2013-09-19 08:31:34

标签: .net asp.net-4.0 css-friendly

我有这个问题影响了我一段时间:

我使用CSSFriendly,其中包含App_Browsers文件夹和CSSFriendlyAdapters.browser文件。

一切正常,但每次我对项目中的源文件进行更改并重建时,App_browsers文件夹在Web应用程序运行时开始被忽略。

为了解决问题,我必须记住在构建之前触摸CSSFriendlyAdapters.browser(我通常插入或删除一个空行)。如果我没有这样做,同样的问题。

我一直在寻找解决方案。 Web应用程序设置为使用.net 4.0编译,我的bin文件夹中没有App_Browsers.dll或__browserCapabilitiesCompiler.compiled文件。

我试图清理所有临时文件夹,但每次都会出现问题。

我准备编写一个批处理文件,它接触CSSFriendlyAdapters.browser文件作为预构建操作,但我在这里找人可以提供帮助。

更新
解决了编写批处理文件的问题。它起初工作,但几个月后仅此一项还不够,我还必须在每次编译后重启IIS。

(我还注意到确实生成了 App_Browsers.dll 和__browserCapabilitiesCompiler.compiled *文件,但它们被复制到asp.net临时目录而不是我的bin文件夹中)。

1 个答案:

答案 0 :(得分:4)

我知道这是一个迟到的回复,但最近几天我在这个问题上遇到了很多困难。唯一帮助我的是使用位于C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319中的aspnet_regbrowsers.exe -u命令从GAC卸载预编译的浏览器功能文件。只有在我这样做之后才能正确识别我网站的app_browsers文件夹中的.browser定义文件。我已经安装了Microsoft为此问题提供的修补程序,它没有帮助。我想明确将新的浏览器文件复制到C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ Browsers,以便进行机器范围的更新并运行aspnet_regbrowsers命令导致错误(“无法找到ID为'IE'的浏览器或网关元素”)。因此,卸载GAC中已有的内容显然迫使我的网站使用自己的浏览器定义文件,之后一切正常。我真的不知道这种方法是否有任何负面影响,但到目前为止还不错。