使用管理员权限运行IIS Express

时间:2012-11-19 13:23:02

标签: port iis-express administration hostname elevated-privileges

之前已经提出这个问题但被关闭为“不是真正的问题”

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

但是我认为这是一个真正的问题,因为我也需要这样做,有MS文件解释如何“Run IIS Express without Administrative Privileges”但是因为这是它默认运行的方式,这篇文章的需要相当坦率地说是困惑的我。但是我不知道如何使用Admin权限运行它。

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

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

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

是否有人知道如何提供IIS Express管理员权限,如错误消息所示?

13 个答案:

答案 0 :(得分:26)

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

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

    enter image description here

答案 1 :(得分:24)

我已经解决了。

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

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

修改

(19/08/2013)

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

修改

(2018年7月6日)

@Tarostar(下面的评论),让这个在Windows 10 VS2017上工作,其他一些人使用相同的方法在Windows 8之前使用它。所以我可能在Windows 8机箱上做错了。

答案 2 :(得分:5)

虽然有点迟了,而不是问题'如何使用管理权限运行'的答案,但这可能是所述问题/错误的解决方案:

  

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

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

  

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

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

答案 3 :(得分:2)

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

  • DevelopmentServerVPath
  • IISUrl

答案 4 :(得分:2)

这对我有用!

在VS中,您可以右键单击项目,选择卸载项目,然后再次右键单击并选择编辑ProjectName.csproj。

删除 DevelopmentServerPort IISUrl 标记。

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

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

答案 5 :(得分:2)

1)找到CSPROJ文件。它位于项目文件中 2)CSPROJ文件在记事本中打开(拖到记事本) 3)搜索两行(按Ctrl + F并键入frist词,例如:)

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

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

答案 6 :(得分:2)

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

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

答案 7 :(得分:1)

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

答案 8 :(得分:1)

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

答案 9 :(得分:0)

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

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

转到文件的这一部分:

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

为您的应用程序池添加一个标记,指定它应在以下位置运行的用户名和密码:

<processModel userName="Uname" password="Pword" />

答案 10 :(得分:0)

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

端口号高于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/

答案 11 :(得分:0)

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

答案 12 :(得分:0)

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