C# css在服务器iis 7中工作不正常,如在本地

C# css在服务器iis 7中工作不正常,如在本地,c#,css,asp.net-mvc-4,iis-7,C#,Css,Asp.net Mvc 4,Iis 7,当我在Visual Studio 2012上调试ASP MCV 4应用程序时,CSS会正确显示。我将其部署到IIS7,但我注意到并非所有CSS都像在本地一样工作,一些样式丢失了。我已经编辑了渲染字符串,这样它就不会像上面所说的那样与我的实际目录结构相似,但是我没有得到好的结果。你知道如何处理这个问题吗 更新 要发布我的应用程序,请执行以下操作: 我使用过按钮发布(VS 2012) 选择文件系统(发布方法) 从IIS管理器浏览应用程序 当点击F12:我得到这些消息“加载资源失败:服务器响应状态

当我在Visual Studio 2012上调试ASP MCV 4应用程序时,CSS会正确显示。我将其部署到IIS7,但我注意到并非所有CSS都像在本地一样工作,一些样式丢失了。我已经编辑了渲染字符串,这样它就不会像上面所说的那样与我的实际目录结构相似,但是我没有得到好的结果。你知道如何处理这个问题吗

更新

要发布我的应用程序,请执行以下操作:

  • 我使用过按钮发布(VS 2012)
  • 选择文件系统(发布方法)
  • 从IIS管理器浏览应用程序
当点击F12:我得到这些消息“加载资源失败:服务器响应状态为404(未找到)”,这是关于一些未找到的图像

我使用捆绑包来包含CSS文件


只需删除请求筛选功能中的
App\u Themes
文件夹即可

IIS7->Site->(Ursitename)
,在右侧面板中有
“请求过滤”

打开该功能并从中删除App_Themes文件夹。以及刷新和浏览

这不是IIS的事。

  • 检查两台服务器上的CSS是否相同(可能您没有部署正确的CSS文件)
  • 检查是否不是缓存问题(清除所有浏览器缓存)
  • 签入其他浏览器 IE有开发工具(F12)。检查该标题在两个版本中是否具有相同的css样式

    通过提供正确的路径进行检查

    由于问题只发生在CSS上,您是否使用CSS的完整路径

    <link href="http://pcname/website/file.css" rel="Stylesheet" type="text/css" />
    
    
    
    用这个

    <link href="file.css" rel="Stylesheet" type="text/css" />
    
    
    

    如果没有,那么可能还有一些权限问题。然后您可以在本地浏览
    http://local
    在浏览
    http://pcname
    您将被识别为远程用户,可能没有访问css文件或文件夹的权限。

    对捆绑包的HTTP请求可能由IIS而不是MVC框架处理。当包的虚拟路径与文件系统上的实际路径匹配时,可能会发生这种路由冲突

    如官方ASP.NET文档()末尾所述:

    创建bundle时要遵循的一个好习惯是在bundle名称中包含“bundle”作为前缀。这将防止可能的路由冲突

    因此,我建议您重命名捆绑包,确保其名称与网站中的任何路径都不相似

    您可以查看这些类似问题的答案:


    我终于找到了解决方案,在BundleConfig中添加这一行:

    BundleTable.EnableOptimizations = false;
    

    我修复了在webconfig上评论静态文件处理程序的问题

      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    
    
    
    试试看


    在bundle config

    中,确定哪个CSS正在加载,哪个没有加载,然后从那里检查链接到的路径-这是一个开始。如果IIS中没有CSS,请使用“控制面板”中的“程序和功能”小程序检查IIS安装程序中是否安装了静态内容,这让我在IIS 8上绊倒了。你能通过解释调试步骤和得到的结果来改进你的问题吗?您是否尝试过使用Firebug或类似的工具(Chrome/Firefox中的CTRL+ALT+I,IE中的F12)?CSS文件是否从服务器正确下载?如何包含CSS文件?你在使用捆绑包还是什么?@winterlude你看到我的更新了吗?我提到你知道什么了吗?@Slicksim我已经检查了静态内容,它已经安装并检查了谢谢你的回复,你能告诉我在哪里可以找到应用程序主题吗,因为它不存在于我的app@ItShine:实际上,静态地使用css意味着,根据主题它将发生。这样做,您禁用了bundle对调试和发布模式所做的优化!因此,您完全失去了使用它们的优势。此时,通过捆绑包包含CSS和JS毫无意义——直接将它们包含到HTML布局中更容易。如果使用此设置,代码成功运行,则意味着您的问题是由于我在回答中描述的冲突造成的。哦,真的!然后我会尝试你在回答中所说的,我希望它会起作用,但无论如何,非常感谢你的回复
    BundleTable.EnableOptimizations = false;