我已经成功地使用.less我的开发Cassini服务器(无点)中的文件几周,但是当我发布到我的本地IIS服务器时,它们会产生404错误.将我的调试器附加到IIS不会产生任何异常.我也重新启动了我的IIS应用程序池和服务器.
有任何想法吗?
Kev*_*Kev 31
看起来你在IIS上缺少mime类型.
对于IIS7,将以下内容添加到您的web.config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".less" mimeType="text/css" />
</staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
对于IIS6,您可以这样做(假设您具有管理员RDP访问权限):
cscript adsutil.vbs set W3SVC/1/Root/MimeMap ".less, text/css"
Run Code Online (Sandbox Code Playgroud)
/1/网站的IIS编号在哪里.
只是添加(很晚,我意识到)我的两点讨论.
我只是遇到了相同的症状,前面提到的修复程序对我不起作用.我也不过最终找到另一个原因是这些症状和一个解决方案.
在我的案例中,404响应在响应正文中包含以下消息:
/*发生了错误.在本地机器上查阅日志或查看.*/
这似乎表明确实找到了较少的文件并且dotLess正在处理请求(该消息可以在dotLess的源代码中找到),但在处理请求期间发生了FileNotFoundException.
我将问题追溯到@import语句,该语句引用了IIS服务器上神秘不存在的.less文件,即使它存在于开发服务器下.
事实证明,这个有问题的.less文件的构建操作设置为None,而不是Content,就像我项目中的所有其他.less文件一样.
那么下一个合乎逻辑的问题是为什么地球上的Build Action不正确?
好吧,我已经将文件添加为.css文件,然后决定将其导入.less文件,然后将其重命名为.less(因为.css是.less的子集,但少了不导入css文件).我用一个新的.css文件重复了这个过程,发现问题是可重现的.
似乎Visual Studio在后台将构建操作从内容更改为无,这是将.css重命名为.less的意外副作用.因此,重命名的.less文件不会发布到IIS服务器.
| 归档时间: |
|
| 查看次数: |
3458 次 |
| 最近记录: |