当我打开解决方案时,我的解决方案文件中有一个“不可用”的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版


当前回答

遵循这个完整的解决方案一步一步。这在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

你的问题可能会解决。

其他回答

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

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

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

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

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

在我的情况下,我想从http切换到https,所以我已经从IIS删除了http。在我的。csproj。用户文件发现我仍然有:

<IISUrl>http://localhost/</IISUrl>

所以我把它改成:

<IISUrl>https://localhost/</IISUrl>

在我的例子中,IIS中的“默认网站”没有在端口80上绑定本地主机。 无论.csproj文件中的值是什么,都应该有一个绑定。

当我试图从.csproj文件打开一个项目时,这发生在我身上,但我通过从VS打开项目来克服它:

文件>打开>网站

然后选择包含我的项目的目录。

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

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

OR

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