首页 > 解决方案 > 我该如何预防启用主机内处理时,标签不会在 web.config 中自动生成?

问题描述

最近,微软告诉我,也许主机内处理可以解决我的一些 CPU 问题(运行 .NET Core 2.2)。

所以我进入了我的 .csproj 并添加了:

<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

现在,每当在 Visual Studio 中构建时,它都会被强制插入到我的 web.config 中:

<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" hostingModel="InProcess">
  <environmentVariables>
    <environmentVariable name="ASPNETCORE_HTTPS_PORT" value="44384" />
    <environmentVariable name="COMPLUS_ForceENC" value="1" />
    <!--<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" /> ALWAYS RE-APPEARS !!-->
    <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
  </environmentVariables>
</aspNetCore>

注意ASPNETCORE_ENVIRONMENT正在设置。如果我取消注释或删除它,它将重新出现。

这是一个问题,因为 web.config 进入了我的存储库,然后 DevOps 使用以下应用程序设置构建并发布了我的应用程序:

-ASPNETCORE_ENVIRONMENT Test

但是,environmentVariable在 web.config 中设置完全覆盖了这一点。

如何防止 Visual Studio 弄乱我的 web.config 并且不尊重我的选择?

标签: asp.net-mvcvisual-studio.net-corevisual-studio-2019.net-core-2.2

解决方案


推荐阅读