ASP.NET MVC 5 解决方案在 VS2013 中有效,但在 VS2015 中无效
Posted
技术标签:
【中文标题】ASP.NET MVC 5 解决方案在 VS2013 中有效,但在 VS2015 中无效【英文标题】:ASP.NET MVC 5 solution working in VS2013 but not in VS2015 【发布时间】:2017-06-25 20:02:20 【问题描述】:我有一个在 Visual Studio 2013 中开发的 ASP.NET MVC 5 应用程序。当我在 IDE 中运行解决方案时,一切正常。在测试和生产服务器上一切正常。
现在,当我在 Visual Studio 2015 的同一台机器上运行完全相同的解决方案时,它不会加载 css 和 javascript 文件。在浏览器中调试显示,使用 VS 2013 对静态资源的 GET 请求是成功的,并获得 200 OK。使用 VS2015,我收到 500 内部服务器错误。
我在 Visual Studio 中运行解决方案时使用的是 IIS Express。
示例:请求 jquery.validate.js:
Screenshot when using VS 2013
Screenshot when using VS 2015
编辑:
我认为问题不在于代码,因为它在 VS2013 和服务器上都有效。但这里有一些代码:
有些脚本是通过捆绑实现的:
BundleConfig:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*"));
在布局视图中:
@Scripts.Render("~/bundles/jqueryval")
其他脚本直接在视图上实现:
<script src="~/Scripts/vendor/modernizr-2.8.3-respond-1.4.2.min.js"></script>
与 CSS 相同:
<link href="~/Content/style.css" rel="stylesheet">
同样,它在 VS2013 和部署服务器上都运行良好,但在 VS2015 中却不行。
有人有想法吗?
【问题讨论】:
你能添加一些代码更好地理解吗? @Massimo:添加了一些代码 当您单击该留置权项时,有关网络选项卡中可用错误的更多信息? 【参考方案1】:我终于找到了解决问题的方法。
进一步检查 chrome 调试器中的网络选项卡信息,发现错误消息“无法添加具有唯一键属性 'fileExtension' 的类型为 'mimeMap' 的重复集合条目”。
我在我的 web.config 文件中发现了一个导致此错误的条目:
<staticContent>
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
This page 向我展示了解决方案。
我将 web.config 更改为:
<staticContent>
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
成功了。我的网站现在在 VS2015 中运行良好。
【讨论】:
以上是关于ASP.NET MVC 5 解决方案在 VS2013 中有效,但在 VS2015 中无效的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC 4.0 升级到 5.0遇到的问题及解决思路
在VS2010 ASP.NET开发服务器上运行新的MVC3解决方案;会员数据库在哪里?