问题 Visual Studio继续将IIS Express添加回我的launchsettings.json


我试图从我的.NET Core启动设置中删除IIS Express配置文件,但每次重新编写解决方案时,Visual Studio都会重新添加它。例如,在新项目中,我的启动设置如下所示

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

我删除IIS部分

{
  "profiles": {
    "MyProject": {
      "commandName": "Project",
      "launchUrl": "http://localhost:5010",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

解决方案运行良好。但是一旦我关闭并重新打开解决方案,IIS部分就会重新出现。

有任何想法吗?


5670
2018-03-29 15:39


起源

这真的很烦人,但我想这就是现在的情况。根据 这个讨论 大约一年前创建了一些票,但没有评论是否会修复/更改。 - Ilya Luzyanin


答案:


更新:

应使用Visual Studio 2017(版本15.3.0)的最新版本(更新)修复此问题。

初步答案:

这不是一个解决方案,而是一个丑陋的解决方法。我想如果我只是拒绝更改权限 launchsettings.json 这将阻止Visual Studio每次都覆盖它。由于这个文件没有太大变化,对我来说这或多或少是一个令人满意的解决方案。

所以:

  1. 更新你的 launchsettings.json 最后一次。
  2. 关闭Visual Studio。
  3. 打开安全设置(在资源管理器中右键单击launchsettings.json - >属性 - >安全性)
  4. 单击高级 - >更改权限
  5. 从“权限条目”列表中选择“经过身份验证的用户”(或在您的计算机上运行Visual Studio的其他用户组),然后单击“编辑” - >
  6. 选中“拒绝”以获取“创建文件/写入数据”权限。
  7. 在所有打开的对话框和警告中单击“确定”以保存更改。
  8. 重新打开Visual Studio,看它无法更新。

希望能帮助到你。


7
2018-03-30 15:07



多数民众赞成确实是一个丑陋的解决方法!我不确定我是否可以接受这个作为答案。 - Kevin Brydon
嗯你是对的。我也许不会接受这个,因为这更像是一个黑客。 - Ilya Luzyanin
我可以确认该问题似乎已在Visual Studio 15.3.0版中得到解决。从现在开始,应该让开发变得更加沮丧! - Kevin Brydon


我们已经开始修复此问题。更多信息在 https://github.com/aspnet/Tooling/issues/486#issuecomment-299906338


3
2018-05-08 19:28