2012-12-17 9 views
8

Ho letto tutte le risposte già pubblicate qui ma nessuna sembra risolvere. Elmah sta funzionando perfettamente anche se ho ricevuto quegli avvertimenti. Inoltre ho ottenuto quegli errori quando lancio debug (f5) in Visual Studio 2012. Su build va tutto bene.Impossibile trovare le informazioni sullo schema per l'elemento 'elmah'

sezione Config in web.config è semplice così io davvero non so come risolverlo:

<configuration> 
    <configSections> 
    <sectionGroup name="elmah"> 
     <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" /> 
     <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" /> 
     <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" /> 
     <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" /> 
    </sectionGroup> 
    </configSections> 

    <elmah> 
    <security allowRemoteAccess="1" /> 
    <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="EvaConnection" /> 
    <!--<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data/ErrorLogs" />--> 
    <!-- ELMAH class ErrorMailModule.cs has been modified to read config from AppSettings --> 
    <errorMail from="[email protected]" to="[email protected]" subject="dummy" priority="High" async="true" smtpPort="25" smtpServer="dummy" useSsl="false" userName="[email protected]" password="dummy" noYsod="false" /> 
    </elmah> 
+0

Per riferimento futuro, è disponibile uno schema ELMAH su GitHub: https://github.com/elmahio/Elmah-Schema. Puoi leggere di più su di esso e vedere un esempio su come usarlo qui: http://blog.elmah.io/the-elmah-schema/ – ThomasArdal

risposta

9

Penso che questo errore è correlato al fatto che è stato selezionato SqlErrorLog come tipo di log degli errori. Hai eseguito il Elmah SQL Server DB Script nel database per cui è configurato il tuo connectionString EvaConnection? In caso contrario, sarà necessario eseguire questa operazione, in modo che vengano create le tabelle e le stored procedure corrette per Elamh quando si scrivono errori nel database.

Se si utilizza una versione successiva di SQL Server rispetto al 2005, consultare la nota nella pagina wiki ErrorLog Implementation - Enterprise-Level Relational Databases per una nota sul tipo di campo ntext.

Aggiornamento:

Dopo aver pagato più attenzione alla questione. Trovato un post pertinente su ELMAH Google Group - Could not find schema information Questo è un problema che Visual Studio riporta sulla sezione di configurazione ELMAH perché non ha un file .xsd di supporto. È disponibile un file che può essere utilizzato per sopprimere questo messaggio di errore/avviso in Visual Studio. Seguendo semplicemente le istruzioni da Issue 239: Intellisense for web.config and external config files

+0

Ciao Cook, grazie per la risposta. Ovviamente le tabelle SQL sono configurate e tutto funziona correttamente. Elmah sta registrando e inviando email come previsto. Penso che sia solo qualcosa legato a web.config ma non so davvero come risolverlo. Ottengo i messaggi solo durante il debug, al momento della compilazione è tutto ok. – Manight

+1

Esiste una sorta di cache di Visual Studio per cose come lo schema di configurazione web? Lo schema per e gli attributi e gli elementi dovrebbero essere letti correttamente da (ed è infatti poiché tutto funziona) ma all'avvio del debug ho un messaggio di "errore" (sono configurati come messaggio informativo senza errori). Quindi penso che forse è una sorta di memorizzazione nella cache di Visual Studio da qualche parte? – Manight

+0

Grazie cuoco. Mi stavo chiedendo se sono solo io a ricevere quei messaggi. – Manight

0

Ho avuto tutto a posto e quindi inaspettatamente ho ottenuto questo errore.

Prima di provare una delle soluzioni più complicate a questo problema:

  1. Riavviare il Visual Studio
  2. Pulire la soluzione
  3. Generare la soluzione di nuovo

che ha risolto il problema per me. Sembra che qualcosa sia stato memorizzato nella cache (o bloccato) in Visual Studio.