2009-12-08 16 views
30

Non c'è stata alcuna versione di log4net per un po 'di tempo. Questo non ha presentato alcun problema con 3.5, ma per quanto riguarda .NET 4? Qualcuno ha sentito parlare di una versione per supportare la versione 4 quando esce?Log4Net e .NET 4.0

risposta

4

C'è un problema nel sistema di tracciamento per il supporto 4.0.
Se ne hai bisogno, puoi compilare la versione da te con l'ultima versione - verrà compilata.

0

There is a JIRA entry for .NET 4.0 and Client Profiles() ma it is not slated for release in 1.2.11.

C'è una domanda correlata (senza risposta) con un commento che suggeriva di poter essere semplice run the 1.2.10 source through the VS2010 upgrade process.

+0

Grazie, la voce JIRA include una patch - applicatela su SVN HEAD e quindi: "... a target .Net 4.0 define NET; NET_2_0; NET_4_0, a target .Net 4.0 Client profile append; NET_CLIENT_PROFILE alla precedente definire." - questo lo ha risolto per me (inoltre, questa patch ora è dichiarata per il rilascio in 1.2.11, per riferimento futuro) – sinelaw

2

Ecco i nostri appunti su come ottenere log4net lavorare con VS2010 con C# e .Net 4.0. In pratica segue il post di tseonet ma in pochi semplici passaggi. Impostiamo anche il livello di sicurezza su 1 invece di commentare AllowPartiallyTrustedCallers, ma entrambe le opzioni sembrano funzionare.

Spero che questo è utile a qualcuno: http://www.charlestonsw.com/configuring-log4net-with-vs2010-and-net-4-0/

+0

il collegamento a cui si fa riferimento sopra è morto – codechurn

+1

Sostituito con un nuovo URL. Ho mantenuto alcuni dei contenuti tecnici vivi sul mio nuovo blog in CSA. –

12

"Con .NET 4. Progetti è comunque possibile utilizzare log4net Si dovrà cambiare la piattaforma di destinazione a" .NET Framework 4" sul progetto .. . "

È corretto. Ma è necessario mettere la linea

<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
</startup> 

alla parte inferiore del file di configurazione (dopo la configurazione log4net):

<?xml version="1.0"?> 
<configuration> 
    <configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
    </configSections> 
    <log4net> 
    <appender name="FileAppender" type="log4net.Appender.FileAppender"> 
     <file value="logfile.txt" /> 
     <appendToFile value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date: %-5level – %message%newline" /> 
     </layout> 
    </appender> 
    <root> 
     <level value="DEBUG" /> 
     <appender-ref ref="FileAppender" /> 
    </root> 
    </log4net> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
</configuration> 

testato con log4net 1.2.10.0 Hai bisogno di mettere la linea: [assembly: log4net.Config.XmlConfigurator (Watch = false)] in Assemblyinfo.cs (Ho dimenticato che)

+1

+1 per includere le informazioni sull'aggiunta della linea a AssemblyInfo.cs. In caso contrario, le impostazioni di log4net nel file di configurazione dell'app verranno semplicemente ignorate. – Mun

+0

ha funzionato come un incantesimo per me. Grazie. – Sreerag

0

Sembra che il tronco log4net corrente supporta il .NET Framework 4.0. Questo supporto non è stato ancora spedito con una versione.