tipos tag preparado personalizados opciones manager google formularios formulario eventos etiqueta envio activadores activación c# enterprise

c# - tag - Se produjo un error de activación al intentar obtener una instancia de tipo LogWriter



tag manager click element (7)

Estoy tratando de usar el bloque de aplicación de registro de Enterprise Library 5.0 para registrar un mensaje simple en el registro de eventos de Windows en el sistema Win XP SP3 usando:

Logger.Write(msg);

Aparece el mensaje de error "Se produjo un error de activación al intentar obtener una instancia de tipo LogWriter" al intentar iniciar sesión.

A continuación se muestra el archivo de configuración utilizado con la biblioteca de MS Enterprise

<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /> </configSections> <loggingConfiguration name="" tracingEnabled="true" defaultCategory="General"> <listeners> <add name="Event Log Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" source="Enterprise Library Logging" formatter="Text Formatter" log="Application" machineName="." traceOutputOptions="None" /> </listeners> <formatters> <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="Timestamp: {timestamp}{newline}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;Priority: {priority}{newline}&#xA;EventId: {eventid}{newline}&#xA;Severity: {severity}{newline}&#xA;Title:{title}{newline}&#xA;Machine: {localMachine}{newline}&#xA;App Domain: {localAppDomain}{newline}&#xA;ProcessId: {localProcessId}{newline}&#xA;Process Name: {localProcessName}{newline}&#xA;Thread Name: {threadName}{newline}&#xA;Win32 ThreadId:{win32ThreadId}{newline}&#xA;Extended Properties: {dictionary({key} - {value}{newline})}" name="Text Formatter" /> </formatters> <categorySources> <add switchValue="All" name="General"> <listeners> <add name="Event Log Listener" /> </listeners> </add> </categorySources> <specialSources> <allEvents switchValue="All" name="All Events" /> <notProcessed switchValue="All" name="Unprocessed Category" /> <errors switchValue="All" name="Logging Errors &amp; Warnings"> <listeners> <add name="Event Log Listener" /> </listeners> </errors> </specialSources> </loggingConfiguration> </configuration>


Además de los examples de , quiero agregar mi ejemplo, cuando la configuración de registro se ubicó en un archivo separado, pero las descripciones de las secciones se perdieron en app.config

<section name ="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging" />    <loggingConfiguration configSource="EnterpriseLibraryLogging.config" />


Al leer las otras respuestas a esta pregunta, y de mis propias experiencias, en general, parece que este error ocurre cuando su aplicación no puede leer la configuración requerida para el bloque de la aplicación de Registro desde un archivo de configuración.

Para agregar a los escenarios mencionados en las respuestas anteriores, me he encontrado con este error un par de veces:

1) En un proyecto de prueba de unidad, donde olvidé agregar un archivo app.config;

2) En un archivo de configuración en el que eliminé una escucha en particular de la sección loggingConfiguration, pero olvidé eliminar el nombre de la escucha de la categoría SourceSource a la que hacía referencia.


Falta DLL; preste atención cuando coloque sus DLL en GAC, es posible que deba agregar más DLL a GAC. Common, Data, Logging, Logging.Database y ServiceLocation DLLS se aseguran de que residan juntos en un directorio


He tenido el mismo error al usar un archivo de configuración entlib separado.

En Web.config, enterpriseLibrary.ConfigurationSource apuntó a EntLib.config. Cuando usé la herramienta EnterpriseLibrary.Config para editar EntLib.config para configurar los detalles de la base de datos de registro, puso todo en EntLib.config. Recibí este error hasta que moví la sección connetionStrings a Web.config.


Me di cuenta de que estaba intentando usar el archivo de configuración desde una DLL que no funciona. Debería usar FileConfigurationSource en su lugar.

Si uso el mismo App.Config desde una aplicación, funcionó bien.


Solo quería agregar que este error puede deberse a otro problema de configuración. Asegúrese de ver las excepciones internas para este error. En mi caso fue:

"El tipo Base de datos no se puede construir. Debe configurar el contenedor para proporcionar este valor".

Para resolver esto tuve que agregar un providerName a la cadena de conexión de mi base de datos en web.config. Así que el nodo final de la cadena de conexión se veía así:

<add name="DBConn" connectionString="Data Source=ServerName;Initial Catalog=Logging;Persist Security Info=True;integrated security=True;" providerName="System.Data.SqlClient" />


También he visto este error al olvidar agregar una referencia a las DLL de EntLib.