36

以前有人问过这个问题,但被关闭为“不是一个真正的问题”

https://stackoverflow.com/questions/7450813/how-to-run-a-site-with-administrative-privileges-in-iis-express-7-5

但是我认为这是一个真正的问题,因为我也需要这样做,有 MS 文档解释了如何“在没有管理权限的情况下运行 IIS Express ”,但由于这是默认运行的方式,因此坦率地说,对本文的需求让我感到困惑。但是我不知道如何以管理员权限运行它。

当我尝试启动我的 VS2012 网站时,我从 IIS express 收到以下错误消息:“无法启动网站,因为需要管理权限才能绑定到主机名或端口”,并提供了有关在没有管理员的情况下运行它的 MS 文档的链接特权。

我最终要做的是将我的开发站点在本地运行为 http://vs2012:nnnnn,这样我就可以附加提琴手调试器(由于使用 localhost 时绕过 IE 中的代理)

这曾经工作得很好,今天早上我重新安装了窗户,现在撞到了一堵砖墙!

有谁知道如何给 IIS express 管理员权限,如错误消息中所示?

4

13 回答 13

58

对于 Visual Studio 2015 和 2012,此解决方案将起作用。

  1. 转到 Visual Studio 中的解决方案资源管理器,右键单击 Web 项目并选择“卸载项目”
  2. 接下来在同一个项目上,右键单击并选择“编辑项目文件”</li>
  3. 找到
    <DevelopmentServerPort>0</DevelopmentServerPort><IISUrl>http://localhost:56058/</IISUrl>
    xml 标签并删除它们。
  4. 重新加载项目并运行。

要遵循的图像:

在此处输入图像描述

于 2016-07-18T07:58:19.430 回答
26

我已经解决了。

我将 Visual Studio 切换为使用管理权限运行,还找到了 IIS Express 的 .exe 并将其设置为始终使用管理权限运行。我不是 100% 肯定需要第二个,但无论如何都做了。

我希望这可以帮助其他遇到同样问题的人。

编辑

(19/08/2013)

这似乎只在 Windows 7 中有效,在 Windows 8 上,我最终放弃了,现在使用全面的 IIS 来完成我的所有开发工作。

编辑

(07/06/2018)

@Tarostar(下面的评论),让它在 Windows 10 VS2017 上运行,而其他一些人在使用相同的方法之前已经让它在 Windows 8 上运行。所以我可能在我的 Windows 8 机器上做错了什么。

于 2012-11-19T13:30:03.340 回答
8

就我而言,该站点在没有管理员权限的情况下工作,并且在某些时候停止并仅与管理员一起工作。

端口号高于不需要管理员权限的 1024,但 Visual Studio 2015 拒绝运行没有管理员权限的站点。

我想通了,这是因为它被添加到

netsh http show urlacl

这向我展示了

Reserved URL            : http://*:15888/
        User: \Everyone
            Listen: Yes
            Delegate: No
            SDDL: D:(A;;GX;;;WD)

因此,就我而言,我已将其从该列表中删除,并且它再次起作用。这是删除的命令:

netsh http delete urlacl http://*:15888/
于 2017-10-05T15:58:17.420 回答
6

虽然有点晚了,并且不是对“如何以管理权限运行”的问题的回答,但这可能是对所述问题/错误的解决方案:

无法启动网站,因为需要管理权限才能绑定到主机名或端口

running-iis-express-from-the-command-line中所述,使用的端口号可能需要以下管理权限:

如果要在编号为 1024 或更少的端口上运行 IIS Express,则必须具有管理员用户权限。

因此,如果您可以在高于 1024 的端口号上运行,您可能根本不需要管理权限。

于 2013-04-12T11:38:15.953 回答
5

这不是授予 ISS 管理员权限的方法,而是解决帖子中的错误的方法。一天早上我开始看到这个错误,并通过关闭我电脑的移动热点解决了这个问题。显然,与其他设备共享您的互联网可能会导致“无法启动网站,因为需要管理权限才能绑定到主机名或端口”错误。

于 2019-10-02T10:31:34.357 回答
4

1)找到CSPROJ文件。这是在您的项目文件中 2)CSPROJ 文件在记事本中打开(拖动到记事本) 3)搜索两行(按 Ctrl+F 并键入第一个单词,例如:)

<DevelopmentServerPort>0</DevelopmentServerPort>
<IISUrl>http://localhost:57680/</IISUrl>

4)删除两行。5) 保存 CSPROJ 文件。

于 2017-02-01T04:02:48.440 回答
2

我知道这可能为时已晚,但其他解决方法都不适合我。所以这就是我所做的。我正在使用 Web API 2 并且 IIS Express 不时启动,并且在我将项目加载到新解决方案中之后它会起作用。但是,我找到了更好的解决方案。在 csproj 文件中删除 WebProjectProperties 下的这两个节点,您将全部设置好。

  • 开发服务器VPath
  • IISUrl
于 2014-10-02T23:37:35.960 回答
2

这对我有用!

在 VS 中,您可以右键单击项目,选择Unload Project,然后再次右键单击并选择 Edit ProjectName.csproj。

删除DevelopmentServerPortIISUrl标记。

之后,您可以右键单击项目并选择重新加载项目以重新开始工作。删除 DevelopmentServerPort 和 IISUrl 标签会导致 VS 重新生成端口号,之后项目运行良好。

我做的另一件事是打开我的 Documents\IISExpress\Config\applicationHost.config 文件并删除旧站点,但我不确定是否有必要

于 2016-07-06T07:05:25.147 回答
2

我通过关闭我的 VPN解决了​​(解决)这个错误。

不确定为什么运行 vpn 会导致错误“无法启动网站,因为需要管理权限才能绑定到主机名或端口”。

于 2021-01-31T02:09:20.903 回答
1

Morvael 建议的方法的一个小补充 - 即使您在为 Visual Studio 和 IISExpress 分配管理员权限后遇到错误,也请尝试在此之后重新启动系统。为我工作。

于 2017-02-01T09:50:08.860 回答
0

您可以在以下位置更改文件:

%userprofile%\Documents\IISExpress\config\applicationhost.config

转到文件的这一部分:

<system.applicationHost>
     <applicationPools>
          <applicationPoolDefaults managedRuntimeLoader="v4.0" >

并为您的应用程序池添加一个标签,指定它应该在其下运行的用户名和密码:

<processModel userName="Uname" password="Pword" />
于 2014-06-10T14:05:37.917 回答
0

我最终通过右键单击 Visual Studio 并单击“以管理员身份运行”解决了这个问题。

于 2018-09-28T13:42:29.383 回答
0

从 2018 年开始......我在 VS 2017 上遇到了这个问题并收到了相同的错误消息。为了解决这个问题,我将项目配置中的项目 URL 从http://localhost:10243更改为http://localhost:10244。一旦我确认我想要创建虚拟目录,我就可以在浏览器中启动我的项目。我没有在管理员模式下运行 VS。希望这可以帮助!

于 2018-04-24T15:12:44.137 回答