C# C/IIS/MVC:未在不同环境中加载静态连接

C# C/IIS/MVC:未在不同环境中加载静态连接,c#,css,asp.net,asp.net-mvc,iis,C#,Css,Asp.net,Asp.net Mvc,Iis,我有一个MVC4.5网站,一切都按预期运行,直到最近,我添加了一个新文件夹 它的目的是容纳CMS类型的应用程序,并将它们与主站点分开。当我构建这些应用程序时,我检查了我的本地站点实例上的所有内容,一切看起来都很好 然而,自从我将更新推送到DEV之后,我得到了一些奇怪和意外的结果——如下所示 下面是一个伪文件结构: Solution 'MySite' MySite Controllers Images // Images from this folder a

我有一个MVC4.5网站,一切都按预期运行,直到最近,我添加了一个新文件夹

它的目的是容纳CMS类型的应用程序,并将它们与主站点分开。当我构建这些应用程序时,我检查了我的本地站点实例上的所有内容,一切看起来都很好

然而,自从我将更新推送到DEV之后,我得到了一些奇怪和意外的结果——如下所示

下面是一个伪文件结构:

Solution 'MySite'
    MySite
        Controllers
        Images // Images from this folder appear normally
        Models
        Scripts // Scripts from this folder load normally
        Views
        Admin
            AdminApplication
                Index.cshtml
            Shared
                admin_common.css // 500 error
                admin_common.js // 500 error
            Images
                banner.jpg // will not load
请记住,所有这些问题都只在Dev上,本地的一切都很好。看起来很奇怪,css文件会加载,但没有任何内容

以下是样式和脚本在布局中的加载方式:

@Scripts.Render("~/Shared/jquery.js") // loads fine
@Scripts.Render("~/Admin/Shared/admin_common.js") // 500
@Syle.Render("~/Admin/Shared/admin_common.css") // 500
以下是我尝试过的:

我查看了日志文件,但他们都说加载的文件很好。我只看到200,没有500

我查看了IIS中的静态内容选项,如图所示:但它是IIS范围内的选项,而不是特定于文件夹的选项

当我访问css的URL时,我得到了500:Server错误[10-0002],所以我查找了它,但唯一有用的是它,一条深刻的评论说他们的isapi文件丢失了。我检查了我的web.config文件,找到了isapi文件,它们看起来很好

我尝试了失败的请求跟踪,如下所述:,但是那里没有日志,即使它是在。。。。这很奇怪,但与这个问题无关

我还尝试向web.config添加一个httperror行,如下所示:。它应该给出更好的错误,但事实并非如此

是什么导致我的开发机器无法显示这些必要的内容?

TL;DR:一个不必要的web.config文件,其中缺少isapi处理程序

当我第一次启动新文件夹Admin时,我不确定它将如何工作。我在某个地方读到它需要自己的web.config文件。所以我把一个简单的web.config文件从某个地方复制到了新文件夹中

后来,我将其名称更改为web.bonfig,以使其在备份时处于非活动状态

我目前的理论是,服务器上冲突的配置文件可能具有不同的优先级,但这样的优先级在哪里定义呢?。今天早上,我从Windows资源管理器窗口将文件名更改为web.bonfig.backup-ignore,这似乎解决了我的问题


顺便说一句,web.bonfig在system.webServer中只定义了一个处理程序。这表明我问题中的解决方案3是正确的解决方案,但我查错了配置文件。

我认为应该是:*~/Admin/Shared/Admin\u common.css**而不是~/Admin/Scripts/Admin\u common.css。。。。ADMINGood catch下没有脚本文件夹。我会解决的。这只是一个美学上的错误,这个问题不在实际的代码中。尝试更改捆绑包名称为不存在的路径指定错误的css和js,就像JQuery捆绑包中提到的路径名称一样,存在有效的现有路径和文件,因此无法为其创建捆绑包。确保在bundle配置文件中使用新名称定义bundle。