Ciao a tutti,
non riesco a venire a capo nel far funzionare il logging dell?Enterprise Library Vol. 5 in un mio semplicissimo progettino WinForm di prova per prendere pratica di questa libreria.
Dopo aver installato la libreria, ed avere referenziato le seguenti dll nel progetto:
Microsoft.Practices.EnterpriseLibrary.Common.dll
Microsoft.Practices.EnterpriseLibrary.Logging.dll
Microsoft.Practices.ServiceLocation.dll
Microsoft.Practices.Unity.dll
Microsoft.Practices.Unity.Interception.dll
appena lancio la mia form (che esegue semplicemente la somma di due numeri inseriti nelle textbox), mi esce fuori questa eccezione non gestita (premetto che la compilazione della solution va a buon fine):
Le informazioni su come richiamare il debug JIT (Just-In-Time) anziché questa finestra
sono riportate in fondo al messaggio.
************** Testo dell'eccezione **************
System.Configuration.ConfigurationErrorsException: Errore durante la creazione del gestore della sezione di configurazione per enterpriseLibrary.ConfigurationSource: Impossibile caricare il file o l'assembly 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' o una delle relative dipendenze. La definizione di manifesto dell'assembly specificato non corrisponde al riferimento all'assembly. (Eccezione da HRESULT: 0x80131040) (C:\Users\Luigi\Documents\Visual Studio 2008\Projects\FormLib5\FormLib5\bin\Debug\FormLib5.exe.Config line 4) ---> System.IO.FileLoadException: Impossibile caricare il file o l'assembly 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' o una delle relative dipendenze. La definizione di manifesto dell'assembly specificato non corrisponde al riferimento all'assembly. (Eccezione da HRESULT: 0x80131040)
Nome file: 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
in System.Configuration.TypeUtil.GetTypeWithReflectionPermission(IInternalConfigHost host, String typeString, Boolean throwOnError)
in System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.Init(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord)
in System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.InitWithRestrictedPermissions(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord)
in System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory..ctor(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord)
in System.Configuration.RuntimeConfigurationRecord.CreateSectionFactory(FactoryRecord factoryRecord)
in System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String configKey, Boolean& isRootDeclaredHere)
AVV: la registrazione dell'associazione di assembly è disattivata.
Per attivare la registrazione degli errori di associazione di assembly, impostare il valore del Registro di sistema [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) su 1.
Nota: alcune penalità di prestazione sono associate alla registrazione degli errori di associazione di assembly.
Per disattivare la funzionalità, rimuovere il valore del Registro di sistema [HKLM\Software\Microsoft\Fusion!EnableLog].
--- Fine dell'analisi dello stack dell'eccezione interna ---
in System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String configKey, Boolean& isRootDeclaredHere)
in System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
in System.Configuration.BaseConfigurationRecord.GetSection(String configKey, Boolean getLkg, Boolean checkPermission)
in System.Configuration.BaseConfigurationRecord.GetSection(String configKey)
in System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName)
in System.Configuration.ConfigurationManager.GetSection(String sectionName)
in Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection.GetConfigurationSourceSection()
in Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceFactory.Create()
in Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer.CreateDefaultContainer()
in Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer.SetCurrentContainerIfNotSet()
in Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer.get_Current()
in FormLib5.Form1.btnSomma_Click(Object sender, EventArgs e) in C:\Users\Luigi\Documents\Visual Studio 2008\Projects\FormLib5\FormLib5\Form1.cs:riga 36
in System.Windows.Forms.Control.OnClick(EventArgs e)
in System.Windows.Forms.Button.OnClick(EventArgs e)
in System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
in System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
in System.Windows.Forms.Control.WndProc(Message& m)
in System.Windows.Forms.ButtonBase.WndProc(Message& m)
in System.Windows.Forms.Button.WndProc(Message& m)
in System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Assembly caricati **************
mscorlib
Versione assembly: 2.0.0.0
Versione Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
Base di codice: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
FormLib5
Versione assembly: 1.0.0.0
Versione Win32: 1.0.0.0
Base di codice: file:///C:/Users/Luigi/Documents/Visual%20Studio%202008/Projects/FormLib5/FormLib5/bin/Debug/FormLib5.exe
----------------------------------------
System.Windows.Forms
Versione assembly: 2.0.0.0
Versione Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
Base di codice: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Versione assembly: 2.0.0.0
Versione Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
Base di codice: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Versione assembly: 2.0.0.0
Versione Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
Base di codice: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Calcoli
Versione assembly: 1.0.0.0
Versione Win32: 1.0.0.0
Base di codice: file:///C:/Users/Luigi/Documents/Visual%20Studio%202008/Projects/FormLib5/FormLib5/bin/Debug/Calcoli.DLL
----------------------------------------
System.Configuration
Versione assembly: 2.0.0.0
Versione Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
Base di codice: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Versione assembly: 2.0.0.0
Versione Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
Base di codice: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.Practices.EnterpriseLibrary.Logging
Versione assembly: 5.0.414.0
Versione Win32: 5.0.414.0
Base di codice: file:///C:/Users/Luigi/Documents/Visual%20Studio%202008/Projects/FormLib5/FormLib5/bin/Debug/Microsoft.Practices.EnterpriseLibrary.Logging.DLL
----------------------------------------
Microsoft.Practices.EnterpriseLibrary.Common
Versione assembly: 5.0.414.0
Versione Win32: 5.0.414.0
Base di codice: file:///C:/Users/Luigi/Documents/Visual%20Studio%202008/Projects/FormLib5/FormLib5/bin/Debug/Microsoft.Practices.EnterpriseLibrary.Common.DLL
----------------------------------------
Microsoft.Practices.ServiceLocation
Versione assembly: 1.0.0.0
Versione Win32: 1.0.0.0
Base di codice: file:///C:/Users/Luigi/Documents/Visual%20Studio%202008/Projects/FormLib5/FormLib5/bin/Debug/Microsoft.Practices.ServiceLocation.DLL
----------------------------------------
mscorlib.resources
Versione assembly: 2.0.0.0
Versione Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
Base di codice: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
SYSTEM.CONFIGURATION.resources
Versione assembly: 2.0.0.0
Versione Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
Base di codice: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration.resources/2.0.0.0_it_b03f5f7f11d50a3a/System.Configuration.resources.dll
----------------------------------------
System.Windows.Forms.resources
Versione assembly: 2.0.0.0
Versione Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
Base di codice: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_it_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
************** Debug JIT **************
Per attivare il debug JIT, è necessario impostare il valore
jitDebugging nella sezione system.windows.forms del file di configurazione
dell'applicazione o del computer (machine.config).
L'applicazione inoltre deve essere compilata con il debug
attivato.
Ad esempio:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
Quando il debug JIT è attivato, tutte le eccezioni non gestite
vengono inviate al debugger JIT registrato nel computer,
anziché essere gestite da questa finestra di dialogo.
In cosa sbaglio?
Grazie
Luigi