当我打开解决方案时,我的解决方案文件中有一个“不可用”的web项目。当我右键单击web项目并重新加载项目时,我得到以下错误:

Web应用程序项目mycompany.myapp.mywebproject已配置为使用IIS。无法找到Web服务器http://localhost/MyWebApp。

我还没有为这个web应用程序手动设置虚拟目录。

每个同事,Visual Studio应该提示我创建虚拟目录,但我没有得到提示。

在我的开发机器上安装IIS之前,我安装了VS2010。

这是我的开发机器设置:

Windows 7企业版 服务包1 64位操作系统 Visual Studio 2010企业服务包 IIS 7.5版


当前回答

对于Win8用户来说,如果你按照已接受的答案中的步骤操作,控制台会向你发出一条消息,告诉你“你不应该使用命令行来执行这个命令”(释义)。相反,通过控制面板(或Windows + R > appwizc .cpl)访问程序和功能,单击“打开或关闭Windows功能”,并确保您安装了以下程序:

Internet Information Services
  > World Wide Web Services
    > Application Development Features
      > ASP.NET 4.5

这将检查一堆其他选项以及。一旦我安装了这些功能,并运行了具有更高权限的VS2012,我就能够成功启动我的应用程序。

其他回答

由于接受的答案需要IIS管理器,而IIS Express没有IIS管理器或任何UI,下面是为您的IIS Express用户提供的解决方案(也应该适用于其他人):

当您打开Visual Studio并得到错误消息时,右键单击项目解决方案资源管理器并选择“Edit {ProjectName}.csproj”

在项目文件中,修改以下行: 真正< UseIIS > < / UseIIS > 来 假< / UseIIS < UseIIS > > 保存文件。

现在重新加载项目。 完成了。

然后您就可以打开您的项目了。如果此时,您想使用IIS,只需转到项目属性,单击“Web”选项卡,并选择使用IIS的选项。这里有一个“创建虚拟目录”的按钮。它可能会告诉您需要以管理员身份运行Visual Studio来创建该目录,因此如果需要的话就这样做。

我也犯了这个错误。我以为一切设置都是正确的,但我发现有一件事是缺失的:我用于项目的主机名(还)无法解析。

由于我的应用程序从主机名确定当前客户端的名称,我使用了一个主机名,如clientname.mysuperapp.local进行开发。当我将开发主机名添加到hosts文件时,该项目又可以加载了。显然,我必须这样做,但我没有想到VS在加载项目之前检查主机名。

这个解决方案对我来说很有效:右键单击项目并选择编辑并找到如下图所示的以下代码。

将<UseIIS>True</UseIIS>修改为<UseIIS>False</UseIIS>

OR

更改<IISUrl>http://example.com/</IISUrl> < lisurl >http://localhost/</ lisurl >

在我的情况下,我能够在离线模式下打开解决方案,只需运行命令:

iisreset

遵循这个完整的解决方案一步一步。这在VS 2017中很适用。

Open Command prompt in administrator mode Open File explorer and got to .NET Framework folder Eg:C:\Windows\Microsoft.NET\Framework\v4.0.30319 v4.0.30319 this is my .NET folder. you want to select your relevant folder. in CMD - Go to .NET folder path cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 Execute below command in CMD aspnet_regiis.exe -i You can see this message finally - Finished installing ASP.NET (4.0.30319.0) iisreset You can see this message finally - Internet services successfully restarted Open IIS in your computer (if not config Follow this) Go to Site and right click Add WebSite Fill - Site name and select physical path Then type port number (you can find port number in .csproj file and port number must equal with (IISUrl) EG : <IISUrl>http://localhost:15724/</IISUrl> my port is 15724 Note : you cannot create port 80 number. because it used default IIS page Click Ok Open visual studio with administrator permission Then right click and reload your project

你的问题可能会解决。