我的 asp.net 项目在 \Content\Images 文件夹中有几个 .png(和几个 .gif)文件。
两个没有找到;Chrome 开发工具的控制台告诉我:“加载资源失败:服务器响应状态为 404(未找到) ”
...果然,如果我单击它显示的链接(例如,http://localhost/@System.Configuration.ConfigurationManager.AppSettings[%22ThisApp%22]/Content/Images/PlatypusorangeSprite.png)它需要我到 GDT 的资源选项卡,虽然图像文件夹显示该文件在那里,但有一个“损坏的图像”表示。
同样的事情发生在另一个图像文件上(它们都在同一个位置,并且在 CSS 文件声明中对它们的引用确实指向它们存在的位置,例如:
background:#E5EDFE url('/@System.Configuration.ConfigurationManager.AppSettings["ThisApp"]/Content/Images/PlatypusorangeSprite.png') repeat-x 0 -369px;
我可以在 VS2010 IDE 中双击这些文件,它们会打开并且看起来不错。
那么为什么在浏览时没有发现它们/被视为损坏的图像?
更新
好吧,显然这与我将所有样式声明从 cshtml 文件移到页面中引用的单独样式表/CSS 文件中有关(我回到了糟糕的旧方式并且它工作正常 - pngs 是再次找到(我什至想象我听到他们唱“奇异恩典”))。由于它不是这些 png 的相对路径,为什么样式信息位于 Content 文件夹中的 .css 文件中而不是“内联”?
当您做“正确”的事情时,我讨厌它,这会使事情变得更糟。