22

此之前已要求,但被封闭,“不是一个真正的问题”运行IIS快递与管理的privilages

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”,但因为这是默认情况下运行,这篇文章的需要很坦率地让我感到困惑。不过,我不知道如何以管理员权限运行它。

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

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

这用于工作正常,今天早上我做了重新安装的窗户,现在已经撞到了一堵砖墙!

有谁知道如何给错误消息中指出的IIS快速管理权限?

回答

22

我已经完成了。

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

我希望这可以帮助其他有这个问题的人。

编辑

(19/08/2013)

这似乎只在Windows 7中, 工作在Windows 8最终我只是放弃了,现在使用完整的IIS打击我所有的开发工作。

+5

只是为了澄清,我只需要确保VS是以管理员身份运行,它的工作。 – HackedByChinese

+6

也许这可以节省一些时间,我的IIS Express位于这里:'C:\ Program Files文件(x86)\ IIS Express \ IISExpress.exe'。 –

+0

确认这适用于Visual Studio 2013的Windows 8 - 我以管理员身份运行VS,并且IIS Express也自动升级。 –

5

虽然BOT晚,而不是一个问题的问问题“如何使用管理员权限运行”,这可能是所陈述的问题/错误的解决方案:

Cannot start the website because administrative privileges are required to bind to the hostname or port

正如提到,使用可能需要这些管理权限的端口号:

you must have Administrator user rights if you want to run IIS Express on ports numbered 1024 or less.

所以,如果你可以在大于1024的端口号运行,你可能并不需要管理员权限的。

+0

+1解决方案和问题解释。 – Bart

+2

不幸的是,如果您不想将您的网站绑定到本地主机,则无论选择的端口号如何,您都需要管理员用户权限。 – Aurril

+0

@Aurril:谢谢你的信息。这是否适用于所有'外部'绑定,即使您使用本地地址,如本地IP范围?你有参考/链接,我可以添加到答案? –

0

您可以在文件中改变:

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

转到文件的这一部分:

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

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

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

我知道这可能为时已晚,但没有其他变通的工作对我来说。所以这就是我所做的。我使用的是Web API 2,而且IIS Express并不会随时启动,而且我将在新解决方案中加载项目之后就可以工作。但是,我找到了更好的解决方案。在csproj文件中,移除WebProjectProperties下的这两个节点,您将全部设置。

  • DevelopmentServerVPath
  • IISUrl
+0

正确的一个。有用。谢谢 – Rezoan

2

这个工作对我来说!

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

删除DevelopmentServerPortIISUrl标签。

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

我做的另一件事情是打开我的文档\ IISExpress \设置\ applicationHost.config文件并删除旧的网站,但我不知道这是必要

+0

Credits:http://geekswithblogs.net/WinAZ/archive/2014/09/11/binding-failure-error-ndash-cannot-start-the-website-because-administrative.aspx – Oswin

22

对于Visual Studio 2015年和2012年该解决方案将工作。

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

图片遵循:

enter image description here

2

1)找到的csproj文件。这是您的项目文件中 2)的csproj文件在记事本中打开(拖动到记事本) 3)搜索两个线路(通过按Ctrl + F,并键入弗里斯特的话,例如:)

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

4)删除2线。 5)保存CSPROJ文件。

0

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

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/