Ok Ich habe ein sehr merkwürdiges Problem, wenn wir eine unserer Webanwendungen auf unseren Live-Servern bereitstellen.Konnte Datei oder Baugruppe nicht laden 'log4net
Unsere Anwendung verwendet log4net, um eine Menge von Aktionen ziemlich stark zu protokollieren und nach ein paar Stunden nach der Bereitstellung erhalten wir die folgende Ausnahme.
Konnte die Datei oder Assembly 'log4net, Version = 1.2.9.0, Culture = neutral, PublicKeyToken = b32731d11ce58905' oder eine ihrer Abhängigkeiten nicht laden. Der Zugriff wurde verweigert.
Hier sind die relevanten web.config Ergänzungen, die ich verwende.
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<appender name="ErrorLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="D:\SomeLocation\Errorlog"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Size"/>
<param name="maxSizeRollBackups" value="-1" />
<param name="maximumFileSize" value="100MB" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="FATAL" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
<appender name="BookingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="D:\SomeLocation\BookingInfoLog"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Size"/>
<param name="maxSizeRollBackups" value="-1" />
<param name="maximumFileSize" value="100MB" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="BookingLogFileAppender"/>
<appender-ref ref="ErrorLogFileAppender"/>
</root>
</log4net>
Es funktioniert gut auf unseren lokalen Maschinen ein Dev-Server, aber nur nicht auf dem Laufenden.
Übrigens scheint es zu brechen, nachdem der JIT-Compiler auf dem Server ausgeführt wird, nachdem ein web.config-Update oder ein App-Pool recycelt wurde, oder sogar nur einen langen Zeitraum!
UPDATE: Unsere Live-Server führen alle Websites von einem freigegebenen Speicherort aus. Ich konnte dieses Problem auf einem anderen Server replizieren, auf dem die Anwendung von einer Freigabe ausgeführt wird. Wenn die Site so eingerichtet wird, dass sie von einem lokalen Laufwerk ausgeführt wird, geht das Problem verloren, aber unser Hosting erfordert, dass wir von einer Freigabe aus starten. Irgendwelche Ideen, warum log4net Berechtigungsprobleme haben würde, die von einer Freigabe laufen. Auch hier läuft die App erstmals, bis eine andere JIT-Kompilierung
Ich habe genau das gleiche Problem wie Sie. Hast du jemals eine Lösung dafür bekommen? – gabe