vs2017用F5调试时js,css文件不能加载导致的问题解决

在用vs进行.net开发时,我是很少用F5进行调试的,通常都是直接配置IIS,然后在IIS中配置好站点数据。站点编译后,直接刷新再浏览器中调试。原因很简单,在vs中用F5调试走的是IIS express管道,但iis express不好用,它是iis的阉割版,少很多功能,导致在调试的时候运行正常,但是发布到服务器后会出现些问题。但它也有些优势。如果需要查看某个页面执行过程中中间变量的值,我会先设置断点,然后用F5进行调试输出。

最近由于新装了IIS express10,据说这个版本继承了IIS的绝大部分功能,功能很强悍,我就想试试。可是装好进行调试的时候,发觉版面样式加载不上,看来名不符实啊。由于忙,iis express10的试用就搁置了。今天比较闲,想深入了解下,css加载不上的原因。先百度iis express不能加载css,查看搜索结果,大多是说需要打开cmd窗口,然后cd到iis express安装目录,执行一系列命令,看着那么麻烦,就觉得头大。没采用。打开fiddler,然后刷新不能加载css的页面,结果发现,不止是css,js页面也不能加载,都是报的500错误。在fiddler中查找原因,提示"在唯一密钥属性“fileExtension”设置为“.json”时,无法添加类型为“mimeMap”的重复集合项"这个错误。所有的500页面都是报这个错。这个错误指向的页面是网站根目录下的web.config的staticContent节点。网上搜索的结果是由于重复设置了MIME类型的文件扩展名造成的。这种问题的解决办法就是先remove某个扩展名,然后在mimemap设置。我在web.config中排查了下,没见到重复设置的情况。怀疑是iis express自动添加的。然后根据错误提示对.json扩展名进行了重新设置。先remove,然后再设置。



设置后,不报这个错了。但报了另一个扩展名的错。比对了下,报错的都是没remove,只有mimMap的项。然后根据这个结果,对web.config下面 staticContent节点下面已有的扩展名设置,凡是没有remove的,都增加了remove。增加后,按F5,调试,页面的css和js文件都能够正确加载了。看来问题是出在了web.config下staticContent节点的设置。

你可能感兴趣的:(服务器,asp.net,MVC)