我有一个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?


当前回答

对我来说唯一有效的解决方案是创建另一个测试项目。然后按照下面的步骤:

Right click the project and go to Properties -> Web Under the project URL in the Use Local IIS Web Server section, copy the project URL(http:// localhost:59002/) - this is from the test project. Navigate to the project which is giving this error. Right click the project and go to Properties -> Web. Paste the project URL in the Use Local IIS Web Server section (URL copied from the test project). Close the test project and save. Delete the test project and run the project that gave the error. Works after that...

也许不是最好的方法,但这是我能让它工作的唯一方法。我收到这个错误消息后,我重新加载我的笔记本电脑(硬盘崩溃),并从他们所在的服务器上获得了我所有的项目。

其他回答

我也有同样的问题。 原因是IIS配置文件不好。

尝试删除自动创建的IISExpress文件夹,该文件夹通常位于%userprofile%/Documents,例如C:\Users\[you]\Documents\IISExpress。

别担心,一旦你再次运行你的解决方案,VS应该再次创建它——这次是正确的。


EDIT:删除文件夹的命令行:

rmdir /s /q "%userprofile%\Documents\IISExpress"

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

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

我的情况是这样的:

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

因此,我将其更改为:

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

然后就成功了。

@roblll说对了。但对于那些不想挖掘答案的人来说,这就是:

Close Visual Studio (might not be necessary, but it won't hurt). Navigate to your Documents folder. This is where my IISExpress configuration directory was. In the config folder, there is a file called the application host. Open that. Search for the name of your project. It should have been added in there by Visual Studio when it bombed in your previous attempts. Note that there's a binding for HTTP with the port you intend to use for https. //Change this: <binding protocol="http" bindingInformation="*:44300:localhost" /> //to this: <binding protocol="https" bindingInformation="*:44300:localhost" />

请记住,Visual Studio可能提供了与您期望的不同的端口。只需确保绑定中的端口对应于项目属性的Web选项卡中的端口。

http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx

我也有这个问题,在关闭防火墙后,在以管理员身份打开,在再次检查所有设置是否正确后。

我的问题是独特的,我想在本地测试SSL,但也有通过局域网可用的服务。所以我改变了应用程序的URL使用本地IP aka。我的情况是192.168.1.10。

切换回本地主机可以解决这个问题,关闭SSL也一样,所以我发现本地SSL证书只适用于本地主机。

如果使用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,按下“创建虚拟目录”按钮