Asp.Net Core 2(完整框架)部署到IIS会在磁盘根目录上创建一个不需要的文件夹

时间:2017-12-06 16:09:20

标签: iis asp.net-core

我已经为IIS部署了一个Asp.Net Core 2应用程序。该应用程序运行正常,但它继续在磁盘根目录中创建以下目录结构: d:\ MYAPPNAME \ MYAPPNAME \ 1.0.0

即使我手动删除该文件夹,它也会在应用运行时再次创建。什么可能导致这种行为?

修改 经过进一步调查,我使用VS 2017模板为asp-net core2 mvc应用程序重现了这个问题。

添加Microsoft.Extensions.Logging.TraceSource nuget包并在app.config中配置日志后,将创建未打开的文件夹...

这是App.config的相关部分

<system.diagnostics>
    <sources>
      <source name="TestApp" switchValue="All">
        <listeners>
          <clear />
          <add name="RotatingFileLog" />
        </listeners>
      </source>
      <source name="Microsoft" switchValue="All">
        <listeners>
          <clear />
          <add name="RotatingFileLog" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add name="RotatingFileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter" logFileCreationSchedule="Daily" traceOutputOptions="DateTime" BaseFileName="test" location="Custom" CustomLocation="E:\logs\test\" Delimiter="|" AutoFlush="True" Append="True"></add>
    </sharedListeners>
    <trace autoflush="true" indentsize="4">
      <listeners>
        <clear />
        <add name="RotatingFileLog" />
      </listeners>
    </trace>
  </system.diagnostics>

1 个答案:

答案 0 :(得分:0)

事实证明,Microsoft.VisualBasic.Logging.FileLogTraceListener正在创建该文件夹。我切换到另一个监听器,在本例中为Essential.Diagnostics.RollingFileTraceListener