如何在为 asp.net 核心 v3.1 应用程序进行网络部署时设置 "stdout=true"?

how to set "stdout=true" while doing a webdeploy for asp.net core v3.1 app?

我将在 visual studio 2019
发布一个 asp.net 核心 v3.1 应用程序 因为核心应用程序不会创建 web.config
webdeploy 创建它并在每次发布时发布自己的 web.config

当它这样做时
它设置了 stdout=false,我想是真的 -
有人知道如何控制吗?
我正在尝试在 .csproj
中配置一些东西 但从未找到正确的组合

这是已发布的 web.config 的样子:

<aspNetCore processPath="dotnet" arguments=".\myproj.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />

当然这是我想要的样子:

<aspNetCore processPath="dotnet" arguments=".\myproj.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />

关于同一问题的另一个 post:
https://github.com/MicrosoftDocs/azure-docs/issues/31380

您可以通过右键单击该项目,添加=>newItem=>Web=>Web Configuration File.And 将web.config 添加到您的项目,然后您可以在其中设置stdoutLogEnabled。

例子(注意在web.config中需要加上hostingModel="inprocess"):

<system.webServer>
    <handlers>
      <remove name="aspNetCore"/>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="InProcess"/>
  </system.webServer>

这是已发布的 web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\case1(5-26).dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>