代码之家  ›  专栏  ›  技术社区  ›  w0051977

Visual Studio 2017如何知道在“调试属性”中选择了IISExpress?

  •  0
  • w0051977  · 技术社区  · 6 年前

    我有一个LaunchSettings文件,如下所示:

    {
      "iisSettings": {
        "windowsAuthentication": false,
        "anonymousAuthentication": true,
        "iisExpress": {
          "applicationUrl": "http://localhost:5002",
          "sslPort": 0
        }
      },
      "profiles": {
        "IIS Express": {
          "commandName": "IISExpress",
          "launchBrowser": true,
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development"
          }
        },
        "MvcClient": {
          "commandName": "Project",
          "launchBrowser": true,
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development"
          },
          "applicationUrl": "http://localhost:5002"
        }
      }
    }
    

    如果右键单击项目并选择“属性/调试”,则选择的配置文件为:IIS Express。如果我将docker支持添加到项目中,则会向launchsettings.json添加一个新条目,并且调试属性中的配置文件更改为:docker。

    Visual Studio如何知道要选择什么?我希望在每个概要文件下看到一个名为:Selected(值为true或false)的JSON属性。

    我询问的原因是因为我无法在调试属性中更改配置文件,即如果我确实尝试更改配置文件,则“保存”按钮不起作用,一旦我关闭窗口,它将变回原来的状态。这是为什么?注意,我已经在两台不同的机器上的两个独立项目中尝试过这个方法。

    2 回复  |  直到 6 年前
        1
  •  3
  •   McAden    6 年前

    其他的答案表明你在UI中的哪里改变了它,但不是VS如何知道你选择了什么。答案就在 ___.csproj.user 文件。如果你检查一下,你会看到这样的东西:

    <ActiveDebugProfile>IIS Express</ActiveDebugProfile>
    

    如果你改变它,它会在记忆中改变。如果“全部保存”或尝试使用其他配置文件运行,则更改将持久化到用户文件。

        2
  •  2
  •   Christoph Sonntag    6 年前

    无法将所选内容永久保存在launchsettings.json中,调试设置仅用于配置配置文件,而不是选择它-您需要使用“调试”按钮旁边的小箭头更改配置文件,以将其设置为当前的Visual Studio会话: enter image description here

    使用命令行时,还可以使用--Launch Profile-参数设置启动配置文件:

    dotnet run—启动配置文件“MvcClient”

    IIS Express配置文件不适用于dotnet运行。