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


当前回答

这可能会在2020年帮助到一些人。主要问题是CSPROJ文件中的IIS设置与计算机的配置不匹配。例如,如果Web应用程序项目指向localhost:12345,并且没有在该端口上的机器上设置虚拟目录,则会得到此错误。

在使用VS2019时,我遇到了同样的问题,CSProj文件中的IIS设置被忽略了。这样做的原因是CSProj文件中一个名为“SaveServerSettingsInUserFile”的新属性:

<ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile>
        </WebProjectProperties>
      </FlavorProperties>
      <UserProperties UseAjaxifiedTemplates="True" UseJQuerySupport="True" />
    </VisualStudio>
  </ProjectExtensions>

将此设置为TRUE时,IIS/Web服务器属性位于

.CSPROJ。工程名称相同的用户文件。

这允许项目的各个用户拥有自己的IIS设置,前提是该文件没有签入源代码控制。

您可以使用Visual Studio GUI在项目属性“Web”下的“应用服务器设置到所有用户”中控制设置的存储位置

当它打开时,IIS设置存储在CSPROJ中,当它关闭时,它们存储在CSPROJ中。用户

其他回答

你不会相信,以管理员身份启动visual studio

从信息中可以明显看出

无法找到Web服务器“http://localhost/MyWebApp”。

无法找到,因为可能它没有看到它的特权

所以只要重新启动visual studio作为管理员

在我的例子中,csproj文件中引用的url是不正确的。

它需要以www作为前缀。

我做了更改,保存文件和项目加载良好。

在我的例子中,这个问题是由损坏的IIS绑定引起的。具体来说,我的“http”绑定已被删除。重新创建它解决了这个问题。

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

文件>打开>网站

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

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

你的问题可能会解决。