我的配置中有以下内容:

<loggingConfiguration name="" tracingEnabled="true" defaultCategory="Exception Development">
        <listeners>
          <add name="Database Trace Listener"
               formatter="Text Formatter"
                traceoutputoptions="LogicalOperationStack, DateTime,
                                      Timestamp, ProcessId, ThreadId, Callstack"
                databaseinstancename="LoggingConnectionString"
                writelogstoredprocname="WriteLog"
                addcategorystoredprocname="AddCategory"
                type="Microsoft.Practices.EnterpriseLibrary.Logging.Database.
                        FormattedDatabaseTraceListener,
                        Microsoft.Practices.EnterpriseLibrary.Logging.Database,
                        Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                listenerdatatype="Microsoft.Practices.EnterpriseLibrary.Logging.
                                    Database.Configuration.FormattedDatabaseTraceListenerData,
                                    Microsoft.Practices.EnterpriseLibrary.Logging.Database,
                                   Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

当点击这行代码时:ExceptionPolicy.HandleException(exception, policyName);
它引发以下异常:
Missing TraceListenerData type in configuration 'listenerdatatype="Microsoft.Practices.EnterpriseLibrary.Logging.Database.Configuration.FormattedDatabaseTraceListenerData,Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"'.

我不太确定如何将异常记录到数据库中(我没有确切地创建writeLogStoredProcName或addCategoryStoredProcName中的任何存储过程(我应该这样做吗?我甚至不知道应该放哪些列)
我所有的EnterpriseLibrary dll都来自Entlib 5.0。我会做错什么?(我甚至把它们放进了参考文件夹。
编辑:
我已经包含了以下dll:
Microsoft.Practices.EnterpriseLibrary.Common;
Microsoft.Practices.EnterpriseLibrary.Data;
Microsoft.Practices.EnterpriseLibrary.Data.Sqlce;
Microsoft.Practices.EnterpriseLibrary.Logging;
Microsoft.Practices.EnterpriseLibrary.Logging.Database;
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling;
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging;
还是没有运气!啊!

最佳答案

您看到该消息是因为Microsoft.Practices.EnterpriseLibrary.Logging.Database.dll程序集未部署到输出文件夹(bin或bin\debug release)。之所以发生这种情况,是因为该程序集仅在配置visual studio中被引用,而visualstudio认为它不是必需的。生成后命令可以部署程序集。

09-03 19:55