【问题标题】:NLog.config not found in "Temporary ASP.NET Files" directory在“临时 ASP.NET 文件”目录中找不到 NLog.config
【发布时间】:2017-05-31 10:56:29
【问题描述】:

当我的 ASP.NET Web 服务尝试调用使用 NLog 的包装程序集时,我收到 System.TypeInitializationException 异常。

根据内部异常,问题是缺少 NLog.config,如错误消息所述:

找不到文件 'C:\Users\###\AppData\Local\Temp\Temporary ASP.NET Files\root\667e44c6\775d7f9f\assembly\dl3\4a628202\6a365e53_dfd9d201\NLog.config'。

当我手动将配置文件复制到指定位置时,一切正常。当然,一旦重新构建或重新部署应用程序,这将失败。

谁能指出我在这里遗漏了什么?配置文件的构建操作设置为“Content”、“Copy if newer”,并在构建应用程序时复制到 /bin 目录。

【问题讨论】:

  • 如果你重建你的应用程序,你的 bin 映射中是否有 nlog.config?
  • 是的,它在 bin 目录中。

标签: asp.net nlog


【解决方案1】:

这可能是 IIS express 的缓存问题。

应该通过删除 Temporary ASP.NET Files 文件夹下的所有内容来解决此问题,然后重新构建您的应用程序。

【讨论】:

  • 不幸的是,这没有帮助。删除目录 "C:\Users\###\AppData\Local\Temp\Temporary ASP.NET Files\root\667e44c6\" 并再次启动 Web 应用程序后,将再次创建目录并再次抛出错误.
  • 请尝试删除您当前的 obj 和 bin 文件夹。
  • 相同的结果 :-(
【解决方案2】:

去掉包装后直接使用NLog,就可以正常工作了。配置文件仍然没有复制到临时目录,但似乎直接使用 NLog 时不需要这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 2016-03-14
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多