IISExpress VS.Net 2015 - HTTP错误500.22 - 检测到的ASP.NET设置不适用于集成管理管道模式

时间:2016-10-21 11:52:21

标签: asp.net-mvc visual-studio iis-express http-error

我在本地的Win 10计算机上安装了 ASP.NET MVC5网络应用。最近,我将一些Nuget包和MVC4升级到了MVC5。并将目标框架版本更新为.Net v4.5。

现在,当我从本地VS.Net 2015社区版调试Web应用程序时,我收到以下错误 -

  

HTTP错误500.22 - 内部服务器错误已设置ASP.NET设置   检测到不适用于集成管理管道模式。

我发现的大多数主题都是针对IIS的,我在谈论IISExpress。他们建议将网络应用的应用池更改为IIS中的经典(Post1Post2Post3)。但是 VS.Net使用IISExpress 所以我也深入研究了它 - C:\ Users \\ Documents \ IISExpress \ config \ applicationhost.config。试图编辑它,但它允许我只配置一个WebSite1,它是localhost:8080,我的运行为localhost:1960。

我还尝试了 appcmd 命令行方法,但除非我有一个网站' localhost:1960'似乎没有办法。我还寻找了一个IISExpress UI工具Jexus但我的本地主机:1960'网站未列出。

显然,设置

  

< validation validateIntegratedModeConfiguration =" false" />在   的web.config

修复它。但它不是最好的解决方案。我无法从web.config中删除httpHandlers或模块。

我需要知道如何操作VS.Net 2015在调试时调用的 IISExpress 不是IIS

谢谢。

2 个答案:

答案 0 :(得分:4)

最后,我能够为VS.Net 2015及其IISExpress配置破解它。 IT无法在外部进行配置'如果你不断在VS.Net之外修改IIS或IISExpress设置,那么什么都不会起作用。

我花了一些时间将我的注意力集中到VS.Net proj属性和配置上。我发现VS.Net创建了自己的版本" applicationhost.config"可在 -

找到
  

< myProject.sln路径> \ .VS \配置\对ApplicationHost.config

这是我必须更改应用程序池的文件( applicationPool =" Clr4ClassicAppPool ) -

    <sites>
        <site name="WebSite1" ... ignore this sction if present
        </site>
        <site name="myProject" id="2">
            <application path="/" applicationPool="Clr4ClassicAppPool">
                <virtualDirectory path="/" physicalPath="D:\Source\myProject" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation="*:1960:localhost" />
            </bindings>
        </site>

您只需要更改applicationPool(您的经典应用程序池名称可能是差异,在这种情况下从同一文件中获取正确的名称)。还要确保您正在更新纠正&#34;网站&#34; node(从VS.Net调试时,您的Web应用程序的正确localhost URL)

如果还有问题,请设置以下内容 -

<applicationDefaults applicationPool="Clr4IntegratedAppPool" />

如果还有问题,请在此文件中进行上述更改 -

  

C:\用户\&LT; youruser&GT; \文档\ IISExpress \配置\对ApplicationHost.config

也可能需要重启。希望这会有所帮助。

答案 1 :(得分:0)

我将为IIS express做出一个简单明了的答案。及其在2018年的工作。

1)转到.sln文件所在的主解决方案目录。

2)导航并打开:

\。vs \ config \ applicationhost.config

3)找到您的项目名称

<site name="Your.Project.ServiceName" id="2">

4)从 Clr4IntegratedAppPool -> Clr4ClassicAppPool

更改应用程序池
<application path="/" applicationPool="Clr4ClassicAppPool">

5)重新启动Visual Studio。

6)尽情享受!