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


当前回答

原来我的IIS在localhost:8181上工作。必须配置{Project}。csproj文件。

    <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <UseIIS>True</UseIIS>
          <AutoAssignPort>True</AutoAssignPort>
          <DevelopmentServerPort>7386</DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
          <IISUrl>**http://localhost:8181/ProjectName**</IISUrl>
          <NTLMAuthentication>False</NTLMAuthentication>
          <UseCustomServer>False</UseCustomServer>
          <CustomServerUrl>
          </CustomServerUrl>
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile><EnableWcfTestClientForSVCDefaultValue>True</EnableWcfTestClientForSVCDefaultValue>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>

其他回答

在我的情况下,确保你有一个“默认”网站

您可以在不将属性UseIIS的值设置为true的情况下加载项目。 只需遵循以下步骤:

在mywebproject中。csproj文件——

删除标签< IISUrl>http://localhost/MyWebApp/< /IISUrl>并保存文件。 应用程序将自动为其分配默认端口。

检查是否安装了IIS Express。如果IISExpress丢失,Visual Studio可能会丢弃设置<UseIISExpress>false</UseIISExpress>,并且仍然寻找该Express。

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

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

对于我的项目,我必须从.csproj文件中删除这两行

<ProjectGuid>{3AA499DF-4A65-43B7-8965-D08A4C811834}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

我试着只删除第一个,但这还不够。

编辑:正如许多用户指出的那样,这可能会改变你的项目类型或搅乱你的源代码控制程序。我不能调查这些问题,因为这是学校的项目,我已经没有了。 尝试时请小心。至少要把你删除的内容复制一份。