本地IIS Web服务器和IIS Express Web服务器都存在Web应用程序

31
在表面上,这看起来很像我想在Visual Web Developer 2010中使用IIS 7而不是IIS Express或者IIS 7.5的Visual Studio使用本地IIS Web服务器问题
但是,我的问题是在applicationhost.config中没有这个应用程序的条目,并且在IIS下也没有指向该项目的应用程序。
此外,当我在“项目属性”->“Web”选项卡下更改“项目URL:”上的URL时,我会收到相同的错误消息,无论我输入什么。 完整的原始错误消息(请注意,已更改为MyServer.com,因为链接不能指向LocalHost) 无法创建虚拟目录。URL 'http://MyServer.com/MyTestProject' 对应的站点同时存在于本地 IIS Web 服务器和 IIS Express Web 服务器上。您需要编辑 'C:\Users\XXXXX\Documents\IISExpress\config\applicationhost.config' 文件,以更改 IIS Express 使用的端口号,或者使用 IIS Manager 更改此站点在 IIS 中的绑定。我尝试将 URL 更改为 'http://MyServer.com/SuperLongRandomName10985486',但仍然出现相同的错误。

是的,我正在以管理员身份运行 VS。

似乎有些“卡住了”。

6个回答

50

尝试删除applicationhost.config文件或将其移动到其他文件夹,这对我有用。

在我的情况下,问题是该项目被另一位开发人员设置为在IIS本地上启动。


@Isp OP应该已经这样做了,但如果他没有,也许你的答案并不是解决他问题的方法。但对我来说有效,这就是为什么我给你点赞的原因 :) - Painy James
4
我刚刚需要编辑 "%USERPROFILE%\Documents\IISExpress\config\applicationhost.config" 中的 applicationhost.config,并从配置中删除该网站。 - oldwizard
不,这不是我的问题的答案,我实际上在原帖中评论说applicationhost.config文件不是问题所在。两个链接的问题都涉及到applicationhost.config文件,我指出他们的解决方案并没有起作用。这就是为什么它不仅不是被接受的答案,而且我也给它点了踩。 - saunderl
1
我曾经遇到过这个问题,将文件重命名为applicationhost.config.DO NOT USE,然后项目就可以再次打开了。我的问题是在新机器上用VS打开代码,但该机器没有安装/启用IIS,所以我猜它会自动运行一些IIS Express的东西。它创建了一个新的applicationhost.config,但似乎对我使用项目没有影响,所以我忽略了它。 - Kate Gregory
1
另一个情况是这样解决的:我的计算机上出现了一个糟糕的组策略更新,导致我失去了本地管理员权限,而且显然还将我的发布设置转移到了IISExpress(实际上从未运行过),却没有通知我。 - downwitch

23
  • 关闭解决方案

  • 删除您的C:\Users\<用户名>\Documents\IISExpress\config

    目录下的文件。

  • 打开解决方案


没有这个目录。C:\users\temp\Documents 是的,IISExpress\config 不太一样。 - saunderl
3
问题已解决,我在C:\Users<username>\Documents\IISExpress\config中找到了它。 - Jonathan Bick
C:\Users<username>\Documents\IISExpress\ - 找不到目录 :( - Niraj Trivedi
在C:\Users<username>\My Documents\IISExpress\config文件夹结构下找到了applicationhost.config文件。 - Niraj Trivedi

6

在记事本中编辑****.sln文件,并将以下设置更改为FALSE

<UseIISExpress>false</UseIISExpress>

(将会有多个实例。)

我这样做后,我的项目就可以正常加载了。


1
设置为“UseIIS”。 - Mark Hosang
这是我的.proj文件中的内容。 - Dunc

2
对我而言,解决这个问题的方法是:删除 *.csproj.user 文件!

我也是。我在我的项目中有以下内容: true 这将覆盖主要的.csproj文件中的设置。 - Bart Read

0

无需删除applicationhost.config文件

我在IIS绑定和Visual Studio项目URL中都指定了主机名。

尝试从IIS绑定中删除主机名并将其留空。 这对我有用!!! 没有显示错误,我能够像从IIS一样加载解决方案并浏览它。


-1

我还需要在以下位置更改iis express绑定信息端口:

在我的示例中,我将C:\ Users \ USERNAME \ Documents \ IISExpress \ config \ applicationhost.config中的80更改为3486,而iis之前使用的是80...

<site name="yoursite-Site" id="108">
<other things removed just to get to showing you the bindingInfo...
<bindings>
    <binding protocol="http" bindingInformation="*:3486:localhost" />
</bindings>
</site>

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