在为asp.net core v3.1 应用程序执行webdeploy 时如何设置“stdout=true”?

toy*_*toy 5 stdout webdeploy asp.net-core

我正在 Visual Studio 2019 中发布一个 asp.net core 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" />
Run Code Online (Sandbox Code Playgroud)

当然,这就是我想要的样子:

<aspNetCore processPath="dotnet" arguments=".\myproj.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
Run Code Online (Sandbox Code Playgroud)

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

Yiy*_*You 11

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

示例(注意需要添加hostingModel="inprocess"到web.config中):

<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>
Run Code Online (Sandbox Code Playgroud)

这是发布的 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>
Run Code Online (Sandbox Code Playgroud)

  • 我仍然无法解决这个问题。现在配置正确,但未创建日志文件夹。我在默认网站下有网络应用程序。我尝试在 csproj 文件中使用 MakeDir 命令。我还尝试手动创建文件夹,但随后出现奇怪的错误:“无法使用应用程序基“C:\inetpub\wwwroot\IdentityServer\”启动标准输出文件重定向到“logs\stdout”。ios_base::failbit 设置:iostream 流错误` (3认同)
  • web.config是IIS的配置,但是.net core不仅仅支持IIS,所以web.config不是构建时创建的。如果你想托管在IIS上,可以在app中添加一个web.config。 (2认同)