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

4

8 回答 8

16

这对我有用:

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

于 2013-03-23T15:37:59.453 回答
5

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

IIS Express 安装在 C:\Program Files\IIS Express\AppServer 中包含一个有效的 64 位配置,所以我只是用这个覆盖了我的配置文件目录中的那个,然后事情就开始工作了。

于 2012-10-15T19:11:03.453 回答
2

听起来您的用户 applicationHost.config 可能有问题。如果您转到您的文档文件夹,然后是 \config\applicationhost.config,您应该会看到 iisexpress 正在使用的配置文件。搜索 ManagedPipelineHandler 和 ExtensionlessUrl。有什么不妥之处吗?

于 2012-06-25T02:50:58.870 回答
1

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

其他人在这个过程中像我一样挣扎时要记住的东西。

于 2014-02-15T12:51:04.167 回答
0

只需运行注册 asp.net .. 你可以在 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 找到它 .. 通过 cmd(管理员)运行它,如下所示:

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

于 2014-09-08T22:01:58.403 回答
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" />
于 2012-10-16T15:57:48.547 回答
0

重新安装您的 .NET 框架

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

于 2016-08-18T04:56:18.860 回答
-2

你需要升级。

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

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

于 2015-01-24T18:16:59.473 回答