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

Kev*_*don 12 iis-express .net-core kestrel-http-server asp.net-core-webapi

我试图从我的.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"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我删除了IIS部分

{
  "profiles": {
    "MyProject": {
      "commandName": "Project",
      "launchUrl": "http://localhost:5010",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

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

有任何想法吗?

Ily*_*nin 7

更新:

应使用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,看它无法更新.

希望能帮助到你.

  • 我可以确认问题似乎已在Visual Studio 15.3.0版中得到解决.从现在开始,应该让开发变得更加沮丧! (2认同)