【问题标题】:Can't open web project because IIS Express is not installed (even though it is)无法打开 Web 项目,因为未安装 IIS Express(即使已安装)
【发布时间】:2022-04-27 00:44:02
【问题描述】:

我最近在工作中更换了机器,一个长期存在的 web 项目现在拒绝在 Visual Studio 中打开。

错误日志显示:“Web 项目 'xxx' 配置为使用 IIS Express。您必须下载并安装 IIS Express 才能加载此项目。”

但是,IIS Express 安装在这台机器上(与消息中的内容相反),并且 csproj 文件中的 UseIISExpressUseIIS 选项都设置为 false:

<UseIISExpress>False</UseIISExpress>
...
<UseIIS>False</UseIIS>

我尝试过一些愚蠢的事情,比如在falseFalse 之间切换,但到目前为止无济于事。还有什么我可以尝试的吗?

【问题讨论】:

    标签: c# asp.net iis


    【解决方案1】:

    我发现让它工作的方法是寻找&lt;ProjectExtensions/&gt;标签并将其替换为:

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

    【讨论】:

    • 在尝试了所有其他答案后,我将 的内容替换为 True。我有一个不同的 GUID,所以我不想弄乱它。
    • 或者,您可以转到 Windows 添加功能,然后在 IIS 下添加每个文件夹中的所有功能,开发中的 CGI 除外。
    • 谢谢!我已经有了这个部分并添加了您的建议并评论了标签“...”
    • 难以置信的修复。这个小改动很有效
    【解决方案2】:

    如果csproj 文件中没有对合适的Web 服务器的请求,它默认为自己的最佳猜测,在这种情况下恰好是IIS Express。所以在这种情况下,答案是把UseIIS选项改成True,项目就正确打开了。

    <UseIIS>True</UseIIS>
    

    【讨论】:

    • 我还必须以管理员身份运行 Visual Studio
    【解决方案3】:

    我遇到了同样的问题,但将 UseIIS 选项设置为 True 不起作用。 我必须删除 .user 文件才能成功加载项目。

    希望这对某人有所帮助,因为发现这一点需要一段时间。

    【讨论】:

      【解决方案4】:

      对我们来说,解决方案是在项目文件中注释以下代码行:

       <!--<IISUrl>http://localhost:56459/</IISUrl>-->
      

      这有效(即使 UseIIS 设置为 true)。

      平台:Windows 10,VS 2017

      【讨论】:

        【解决方案5】:

        VS 在删除 IIS URL 条目后打开了项目。 寻找例如

        <IISUrl>http://localhost:49934/</IISUrl>"
        

        【讨论】:

          【解决方案6】:

          正如 Rob Lyndon 所说,在解决方案的 .csproj 文件中插入 &lt;UseIIS&gt;True&lt;/UseIIS&gt;。对我来说,我必须在此处插入它:

          <Project DefaultTargets="Build" ...>
              ...
              <ProjectExtensions>
                  <VisualStudio>
                      <FlavorProperties GUID="{...}">
                          <WebProjectProperties>
                              <UseIIS>True</UseIIS>
          

          【讨论】:

            【解决方案7】:

            我尝试将&lt;UseIIS&gt; 设置为TrueFalse。这并没有什么不同。也没有将&lt;UseIISExpress&gt; 更改为truefalse。我确实尝试了这些设置的变体,但似乎没有任何效果。我并不是说这对其他人没有用,但对我来说却没有。

            我还删除了我的 .user 文件,但仍然没有解决问题。

            我什至在 Widows Features 中关闭了 IIS 并重新打开(Win​​dows 7)。没有一个奏效,这令人沮丧,因为它看起来应该是合乎逻辑的。

            它与 Visual Studio 2013 无关的原因,至少在我的情况下是这样。我修复了 VS2013,它允许我加载项目。我无法详细说明为什么会出现这种情况,但在修复并重新启动机器后,我的项目加载正常。

            作为参考,因为它可能会有所不同,我保留了以下内容:

            <UseIISExpress>false</UseIISExpress>
            ....
            <UseIIS>False</UseIIS>
            

            【讨论】:

              【解决方案8】:

              为了解决这个问题,我必须集体采取以下措施:

              1. 在文件顶部的第一个 PropertyGroup 标记中将 UseIISExpress 更改为 false。
              <UseIISExpress>False</UseIISExpress>
              ~~~
              2. Add/Change UseIIS to false directly after the UseIISExpress property.
              

              错误

              3. Add UseCustomServer set to True within the ProjectExtensions tag
              ```
              <UseCustomServer>True</UseCustomServer>
              4. Comment out the SaveServerSettingsInUserFile using a html comment tag.
              <!--- <SaveServerSettingdInUserFile>True</SaveServerSettingsInUserFile> --->
              

              【讨论】:

                【解决方案9】:

                对于仍然遇到此问题的任何人,我已修复它并且非常简单,无需编辑项目文件。我尝试将 &lt;UseIIS&gt; 标签更改为 True 无效。

                所以我尝试安装IIS Express 10.0,解决了这个问题。原来你真的需要安装 IIS Express。

                【讨论】:

                  【解决方案10】:

                  我在 Visual Studio 2019 社区版中遇到了同样的问题,并尝试了之前给出的所有答案,但都是徒劳的。最终,我从安装程序中卸载了 [ASP.NET 和 Web 开发工作负载],然后再次安装。它奏效了。

                  【讨论】:

                    【解决方案11】:
                    1. 尝试使用上述设置创建一个新项目,您可以轻松比较 .csproj 文件。

                    2. 在 Visual Studio 的解决方案资源管理器中,右键单击项目 -> 属性 -> 左侧的 Web -> 选择适当的 Web 服务器。

                    3. 将新的 .csproj 文件与旧的 .csproj 文件进行比较,找出差异。

                    您可以使用 Visual Studio 随附的 DiffMerge.exe,它位于“drive:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\vsDiffMerge.exe”中

                    【讨论】:

                    • 这涉及到项目已经打开。 Visual Studio 根本拒绝打开该项目。
                    • 我的意思是尝试使用上述设置创建一个新项目,您可以轻松比较 .csproj 文件。你可以使用 WinMerge 工具。
                    • 如果这是您的意图,那么最好相应地改进您的答案。
                    猜你喜欢
                    • 2021-08-27
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2021-01-17
                    • 2019-12-03
                    • 2011-09-23
                    • 1970-01-01
                    • 2018-01-15
                    相关资源
                    最近更新 更多