首页 文章

直接通过 iisexpress.exe 启动网站时出现 HTTP 500.21 错误

提问于
浏览
4

当我尝试直接通过 iisexpress.exe 运行网站时,我收到错误消息。这适用于所有网站。我使用的命令如下:

。\ iisexpress.exe /site:MultipleRoutes

该网站成功启动但我收到以下错误:

HTTP 错误 500.21 - 内部服务器错误

处理程序“ExtensionlessUrl-Integrated-4.0”在其模块列表中有一个错误的模块“ManagedPipelineHandler”

我假设网站不是在 ASP.NET 下运行但是当我通过 VS 启动网站时,没有问题。

任何的想法?

编辑:

这是另一个事实:当我尝试通过指定路径而不是在 applicationHost.config 文件中注册的站点名称来运行网站时,该站点运行完全正常:

。\ iisexpress.exe /path:D:\ Dropbox\Apps\MultipleRoutes /port:1672 /clr:v4.0

8 回答

  • 2

    听起来你的用户 applicationHost.config 可能有错误。如果你去你的文件夹,然后是\ config\applicationhost.config,你应该看到 iisexpress 正在使用的配置文件。搜索 ManagedPipelineHandler 和 ExtensionlessUrl。有什么事情可以说是不对劲吗?

  • 15

    这对我有用:

    C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

  • 4

    这对我来说是一个 32 位与 64 位的问题,我的用户配置文件目录中的 applicationHost.config 只包含 32 位模块声明,但是试图以 64 位运行。

    IIS Express 安装在 C:\ Program Files\IIS Express\AppServer 中包含一个有效的 64 位配置,所以我刚用我的配置文件覆盖了我的配置文件目录中的一个,并且事情开始起作用了。

  • 1

    C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

    当他们在这个过程中像我一样挣扎时,别人要记住的事情。

  • 0

    以下是使用 IIS Express 运行我的 x64 位 IIS 应用程序所需进行的完整更改,以便远程主机可以访问它:

    iisexpress /config:"C:\Users\test-user\Documents\IISExpress\config\applicationhost.config" /site:MyWebSite
    Starting IIS Express ...
    Successfully registered URL "http://192.168.2.133:8080/" for site "MyWebSite" application "/"
    Registration completed for site "MyWebSite"
    IIS Express is running.
    Enter 'Q' to stop IIS Express
    

    配置文件(applicationhost.config)的部分添加如下:

    <sites>
      <site name="MyWebsite" id="2">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
          <virtualDirectory path="/" physicalPath="C:\build\trunk\MyWebsite" />
        </application>
        <bindings>
          <binding protocol="http" bindingInformation=":8080:192.168.2.133" />
        </bindings>
      </site>
    

    可以按如下方式启用.NET 框架的 64 位版本:

    <globalModules>
        <!--
            <add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
            <add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
        -->             
        <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
    
  • 0

    只需运行寄存器 asp.net ..你可以在 C:\ Windows\Microsoft.NET\Framework64\v4.0.30319 找到它..通过 cmd(Administrator)运行它,如下所示:

    C:\ Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i 你会好起来的......

  • 0

    重新安装.NET 框架

    以后安装 IIS 时出现此问题.NET 框架.The 简单的解决方案是重新安装.NET 框架或检查安装向导上的修复。或者您可以安装最新版本的.NET 框架....... https://www.microsoft.com/en-in/download/details.aspx?id=49982我第一次配置 DNN 8 时遇到了同样的问题。

  • -1

    你需要升级。

    运行C:\Program Files\IIS Express\UpgradeApplicationHost.js

    从 32 位迁移到 64 位时为我工作。

相关问题