我有一个ASP。NET MVC 4解决方案。当我尝试使用Visual Studio 2012打开它时,我得到以下错误:

Microsoft Visual Studio 为ASP配置Web https://localhost:。NET 4.5失败。你必须 手动配置此站点的ASP。NET 4.5才能使站点 正确地运行。无法在https://localhost:44300/上找到服务器 本地机器。确保已配置本地IIS服务器 支持安全通信。

尽管解打开了。此外,当我试图从调试菜单运行它时,我得到以下错误:

无法启动IIS Express Web服务器。 指定的起始URL无效。https://localhost:44300/

我无法调试代码。如何摆脱这些错误和调试/运行网站从VS 2012?


当前回答

在我的情况下,IIS Express应用程序主机。配置文件中几个元素的managedRuntimeVersion属性有一个拼写错误。这是发生在Visual Studio 2012和Visual Studio 2013。我只收到了邮件的第一部分,内容是:

无法启动IIS Express Web服务器。

它在事件日志中记录了一个错误,消息如下:

工作进程未能预加载. net Runtime版本v4.030319。

正确的运行时版本是v4.0.30319(注意第二个周期)。

我采取的纠正措施:

导航到C:\Users\ Documents\IISExpress\config 编辑applicationhost.config 查找配置部分 将任何引用“v4.030319”的内容更正为“v4.0.30319”

在我下次调试web应用程序时,Visual Studio成功启动了IIS Express。

其他回答

我也有同样的问题,原因是标记“覆盖应用程序根URL”是在属性-> Web下设置的 在我删除标志后,IIS Express使用定义的端口正常启动。

如果使用VS2015或以上版本

确保iisexpress进程没有运行。

确保没有其他进程正在使用所需的端口。你可以通过执行来实现

Netstat -a -b

在控制台中(作为管理员,在开始菜单中键入cmd,右键单击并选择“以管理员身份运行”)。如果您看到状态为ESTABLISHED或LISTENING的条目,则意味着有其他进程正在使用该端口。您需要终止该进程或更改端口。

然后删除以下文件

<<path_to_solution_folder>>\.vs\config\applicationhost.config

注意。vs文件夹可能被隐藏

然后找到<<project-name>>.csproj。用户文件,用文本编辑器(记事本)打开 并确保WebProjectProperties下的IISUrl配置为<IISUrl>http://localhost:XXXXX/</IISUrl>,其中XXXXX是您想要的端口。

在这样做并尝试启动应用程序后,你可能会得到

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

然后转到{项目属性}-> Web,按下“创建虚拟目录”按钮

在我的情况下,我的applicationhost。配置文件以某种方式缺少以下两行代码

<add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
<add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />

首先删除目录中存在的文件IISEXPRESS,然后开始调试。

如果这不能解决问题,转到您的项目(Ctrl+Alt+L)。右键单击->属性->调试和检查“启用Windows身份验证”。

我也有类似的问题-由于这个错误,VS无法加载特定的web项目。 以下是有帮助的方法:

在解决方案中编辑项目 查找UseIISExpress和/或UseIIS 并确保它们不会相互交叉。

我的情况是这样的:

...
<UseIISExpress>True</UseIISExpress>
...
<UseIIS>True</UseIIS>
...

因此,我将其更改为:

...
<UseIISExpress>True</UseIISExpress>
...
<UseIIS>False</UseIIS>
...

然后就成功了。