关于.net核心:Visual Studio不断将IIS Express重新添加到我的launchsettings.json中

Visual Studio keeps adding IIS Express back into my launchsettings.json

我试图从.NET Core启动设置中删除IIS Express配置文件,但是每次我提出该解决方案时,Visual Studio都将其重新添加回去。例如,在一个新项目中,我的启动设置如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
 "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部分

1
2
3
4
5
6
7
8
9
10
11
{
 "profiles": {
   "MyProject": {
     "commandName":"Project",
     "launchUrl":"http://localhost:5010",
     "environmentVariables": {
       "ASPNETCORE_ENVIRONMENT":"Development"
      }
    }
  }
}

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

有什么想法吗?


更新:

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

初始答案:

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

所以:

  • 上次更新您的launchsettings.json
  • 关闭Visual Studio。
  • 打开安全性设置(在资源管理器->属性->安全性中右键单击launchsettings.json)
  • 单击高级->更改权限
  • 从"权限条目"列表中选择"授权用户"(或在您的计算机上运行Visual Studio的其他用户组),然后单击编辑->
  • 选中拒绝以获取"创建文件/写入数据"权限。
  • 在所有打开的对话框和警告中单击"确定"以保存更改。
  • 重新打开Visual Studio,然后查看更新失败。
  • 希望有帮助。