当我尝试通过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
答案 0 :(得分:15)
这对我有用:
C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -i
答案 1 :(得分:4)
这对我来说是一个32位与64位的问题,我的用户配置文件目录中的applicationHost.config只包含32位模块声明,但试图以64位运行。
IIS Express安装在C:\ Program Files \ IIS Express \ AppServer中包含一个有效的64位配置,所以我只是用我的一个覆盖了我的个人资料目录中的一个,并且事情开始起作用了。
答案 2 :(得分:2)
听起来你的用户applicationHost.config可能有错误。如果您转到文档文件夹然后转到\ config \ applicationhost.config,您应该看到iisexpress正在使用的配置文件。搜索ManagedPipelineHandler和ExtensionlessUrl。有什么事情可以说是不对劲吗?
答案 3 :(得分:1)
C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -i
让他人记住,因为他们在这个过程中像我一样挣扎。
答案 4 :(得分: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>
可以按如下方式启用64位版本的.NET框架:
<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" />
答案 5 :(得分:0)
只需运行寄存器asp.net .. 你可以在C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319找到它.. 通过cmd(管理员)运行它,如下所示:
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -i 你会好起来的......
答案 6 :(得分:0)
以后安装IIS .NET框架时会出现此问题。简单的解决方案是重新安装.NET框架或检查安装向导上的修复。 或者你可以安装最新版本的.NET框架....... https://www.microsoft.com/en-in/download/details.aspx?id=49982 第一次配置DNN 8时遇到了同样的问题。
答案 7 :(得分:-1)
您需要升级。
运行C:\Program Files\IIS Express\UpgradeApplicationHost.js
从32位迁移到64位时为我工作。