IIS未列出与启动URL相匹配的网站。

181

我需要调试正在开发的网站(ASP.NET MVC3,Razor,.NET 4,VS2010 SP1(作为管理员))在IIS7(Vista Home)中,并且出现错误:

IIS没有列出与启动url相匹配的网站。

为了测试是否与应用程序的设置有关,我从头创建了一个空的新ASP.NET MVC3网站,为IIS设置了虚拟目录,使用F5启动后,它正常运行!

我再次创建了第二个具有完全相同设置的网站项目(只是为了确保),这也按预期启动。

这让我认为我有一些配置问题!但是是什么呢?过去我很少使用IIS,所以我的知识在这个方向上受到了一定的限制。

有什么提示吗?

7个回答

356

我讨厌回答我的问题:在我的问题中,我说我正在管理员帐户下运行VS。这是不正确的

所以解决方案(对我来说)是以管理员身份运行VS2010(开始->在Vista菜单中右键单击->以管理员身份运行)...如此简单。

副作用是:VS2010也让我可以轻松创建虚拟目录(在此之前我收到错误消息,要求我手动进行调整)


160
“以管理员身份运行”可能导致开发人员在过去6到7年中损失了约400,000年的开发时间。 - joshcomley
9
作为提示,将VS快捷方式设置为管理员身份运行,这样您就不必每次右键单击“以管理员身份运行”了。 - Brian
23
在VS2013中仍然如此。 - Zar Shardan
33
在VS2015中仍然适用。 - Mario Levrero
12
在VS2017中仍然适用。 - Attila Molnár
显示剩余9条评论

61
您可以设置Visual Studio始终以管理员身份运行。右键单击快捷方式=>属性=>高级=>勾选以管理员身份运行。

谢谢,但对我没有用。请参考我的答案。 - QMaster
这个设置完全没用,从来不起作用,也毫无意义。为什么会有这个复选框,它从来都不起作用,这对我来说是个谜。 - monstro
1
这对我在Windows 10任务栏图标上实际起作用,但仅当直接单击图标时。可惜的是,右键单击图标并选择打开解决方案并没有以管理员模式打开Visual Studio。我不得不使用QMaster的答案才能使其工作。QMaster's answer - user1568891
对于Windows 10,导航到devenv.exe,右键单击并选择“解决兼容性问题”。在下一个页面上,选择“解决程序问题”,然后通过选中“该程序需要额外的权限”框来说服它执行管理员操作。这就是如何使其适用于所有快捷方式 - 包括您固定的解决方案。 - David Storfer
这也让我很恼火。以管理员身份运行后,它又可以正常工作了,也就是说,我又可以在 Visual Studio 中调试在 IIS 下运行的应用程序了。 - Tore Aurstad

13
我正在使用Visual Studio 2012,并像@karim所说为快捷方式设置了管理员权限,但对我无效,因此我进入devnev.exe文件,在兼容性选项卡中设置管理员权限,这样就成功了。我本不想将此作为答案发布,但我无法分配图片,所以决定将其发布为新的答案。

enter image description here

希望这能有所帮助。

1
如果您没有兼容性选项卡,请尝试按照这些说明进行操作。 - ruffin

11
为了有利于搜索者,我以管理员身份运行,但仍然遇到了这个问题,所以需要遵循这篇博客(显然忽略与旧 .NET 版本相关的一些内容)。
按照博客中的步骤进行重新构建,就可以解决问题。
编辑:(根据评论)
第二部分尤为重要。它指出:
为了启用 F5 调试,您至少需要以下组件:
ASP.NET、Windows 身份验证模块(提供 NTLM 和 Kerberos 的 Windows 身份验证支持)和元数据兼容性层(提供现有软件使用的传统 IIS 配置 API 支持,用于管理 IIS。请注意,在您尝试调试之前,即使是在 Visual Studio 中连接到 ASP.NET 应用程序也需要这个)。
从控制面板 > 程序 > 打开或关闭 Windows 功能中安装它们:
编辑:(添加特性路径):
Internet Information Services -> World Wide Web 服务 -> 安全性 -> Windows 身份验证、Internet Information Services -> Web 管理工具 -> IIS 6 管理兼容性 -> IIS Metabase 和 IIS 6 配置兼容性。

如果那个链接失效了,你的回答还有用吗? - Kirk Woll
2
抱歉 - 我认为引用原始来源比试图将其作为我的知识更好。如果SO有指导显示我所做的是不正确的,请告诉我,我会进行更新。 - JsAndDotNet
5
在重要链接中,始终引用最相关的部分,以防目标网站无法访问或永久关闭。@ http://stackoverflow.com/help/how-to-answer - Joel Peltonen

1
  1. 开始 >> 控制面板 >> 点击程序

  2. 点击打开或关闭Windows功能。

  3. 在用户帐户控制对话框中,单击继续

  4. 展开Internet信息服务,展开Web管理工具,然后展开IIS 6管理兼容性

  5. 选中IIS元数据和IIS 6配置兼容性复选框,然后点击确定。


1
我在新机器上遇到了这个问题 - 以管理员身份运行没有帮助。解决方法是首先执行aspnet_regiis.exe -i。它必须从已经以管理员身份启动的命令提示符中运行。通常,exe可以在C:\Windows\Microsoft.NET\Framework\v4.0.30319中找到 - 如果您需要更改它,则很可能已经知道要更改什么。
要始终以管理员身份运行程序而不需要右键单击,请打开VS快捷方式属性兼容性选项卡并选中“以管理员身份运行此程序”。有关详细步骤,请参见http://technet.microsoft.com/en-us/magazine/ff431742.aspx

@monstro 看起来你的问题并不是由我的答案或其他包含在“这些”地址中的任何问题引起的。 - Joel Peltonen
这在我认为的Windows 8+机器上无法运行。这只适用于Win7-机器。您必须通过从MSDN下载或通过添加到“程序和功能”>“打开或关闭Windows功能”>“.NET Framework 4.6高级服务”>“ASP.NET 4.6”来注册新的IIS框架。然后,您就不应该在管理员模式下运行时遇到任何问题。(我的机器= Win X) - cr1pto

1

这对我有用,我将VS 2017版本更新到15.4.2版,以管理员身份运行,删除文档文件夹中的文件(Visual Studio 2017),并重新启动计算机。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接