Asp.net mvc NLog在所有aspnet布局渲染器上引发配置异常
我一直在努力在我的ASP.NET MVC 3应用程序上设置NLog v2,到目前为止效果非常好。(我使用的是来自OfficeNuGet存储库的包)但是,当我试图更改日志布局以包含任何aspnet-*布局呈现器时,我得到一个配置错误。我已将问题简化为以下最小用例: 在configSections块中:Asp.net mvc NLog在所有aspnet布局渲染器上引发配置异常,asp.net-mvc,asp.net-mvc-3,nlog,Asp.net Mvc,Asp.net Mvc 3,Nlog,我一直在努力在我的ASP.NET MVC 3应用程序上设置NLog v2,到目前为止效果非常好。(我使用的是来自OfficeNuGet存储库的包)但是,当我试图更改日志布局以包含任何aspnet-*布局呈现器时,我得到一个配置错误。我已将问题简化为以下最小用例: 在configSections块中: Nlog块: 如果我改变布局,使用任何不属于aspnet*系列的渲染器组合,效果会很好(我没有对每一个都进行测试,但我已经研究了很多)。我得到的错误是: Configuration Err
Nlog块:
如果我改变布局,使用任何不属于aspnet*系列的渲染器组合,效果会很好(我没有对每一个都进行测试,但我已经研究了很多)。我得到的错误是:
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: An error occurred creating the configuration section handler for nlog: Exception occurred when loading configuration from C:\..[snip]..\web.config
Source Error:
Line 16: </configSections>
Line 17:
Line 18: <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
Line 19: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" throwExceptions="true">
Line 20:
配置错误
描述:处理服务此请求所需的配置文件时出错。请查看下面的特定错误详细信息,并适当修改配置文件。
分析器错误消息:为nlog创建配置节处理程序时出错:从C:\..[snip]..\web.config加载配置时发生异常
源错误:
第16行:
第17行:
第18行:
第20行:
我真的不知道发生了什么事。我不确定渲染器导致配置无效的原因是什么。我一天中大部分时间都在忙这件事,结果一事无成,所以我希望这里有人能帮上忙
谢谢大家! 确保您引用了
NLog.Extended
程序集,该程序集是定义这些布局的地方,并且必须由NuGet软件包添加到引用中:
在我的例子中,我使用的是le_nlog的扩展,出于某种原因,它没有安装在应用程序中
因此,我通过这样做安装了*le_nlog*:
PM> Install-Package le_nlog
如果Darin's不起作用的替代解决方案 你必须有达林提到的NLog.Extended引用 从NLog 2.0开始,您不需要在配置XML中添加引用 我的问题是,我的web层(web.config所在的位置)中没有对NLog.Extended的硬引用,因此编译器没有将文件复制到需要的位置 通过向NLog添加硬引用,可以轻松解决此问题。无论您在何处配置日志,这都是一个无操作的扩展:
//forces the compiler to include NLog.Extensions in all downstream output directories
private static AspNetApplicationValueLayoutRenderer blank = new AspNetApplicationValueLayoutRenderer();
从NLog 4.0开始,ASP.NET渲染现在位于NLog.Web中
谢谢。我现在觉得有点傻,因为我错过了。我真的很感谢你的帮助!它只是拒绝为我工作。无论我尝试什么变量,输出都是空白的:(正如一些答案所说:这现在在NLog.Web中。我完全没有注意到这一点,因为所有在线信息都告诉您添加NLog.Extended