如何在为 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>
我将在 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>