log4net-dependency problem
Ich habe ein Problem mit log4net wurde Lauschangriff mich für eine Weile und ich habe entschlossen zu Sortieren.
Habe ich eine Bibliothek-Klasse, die Verweise log4net. Wenn ich einen Verweis auf diese Bibliothek-Klasse in einem anderen Projekt muss ich dann darauf verweisen, log4net in diesem Projekt sonst bekomme ich einen build-Fehler
Unknown build error, 'Cannot resolve dependency to assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on demand through the ReflectionOnlyAssemblyResolve event.'
Ich bin mir bewusst, dass die Fehlermeldung wird wahrscheinlich sagt mir die Lösung, leider, ich spreche kein Kauderwelsch...
Prost Jungs
Alex..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist der link, der beschreibt, was passiert ist und wie es zu lösen ist:
http://blogs.msdn.com/jmstall/archive/2006/11/22/reflection-type-load-exception.aspx
Einen Auszug aus dem obigen link:
Verwendung der reflection-API, die Sie lösen müssen, alle Abhängigkeiten verwendet.
Ich hatte das gleiche problem mit log4net beim erstellen eines neuen WPF-Projekts und hinzufügen einer Referenz auf ein anderes Projekt verwiesen log4net. Ich löste das Problem, indem die log4net.dll der GAC mit Hilfe dieser Anleitung: http://msdn.microsoft.com/en-us/library/dkkx7f79.aspx
Ich hatte das gleiche problem. Ich habe noch nicht ganz verstanden, aber ich kann Ihnen sagen, wie ich mein problem gelöst.
Ich hatte ein unit-test-Projekt B mit einem Projekt mit Bezug zum Projekt Ein, die Verweise log4net. Also mir geht das Kauderwelsch bedeutet, wenn Visual Studio versucht, das zu schaffen .accessor-Datei für die unit-test-Projekt, es spiegelt auf Projekt A. Dies bedeutet, dass es versucht zu laden, Projekt-Referenzen, aber die assembly-loader kann es nicht finden, weil ich nicht log4net in der GAC, nur lokal für das Projekt Eine Referenz. In meinem Fall, das hinzufügen von log4net zu meinem DEVPATH (GAC funktionieren würde, auch) war die Lösung.
Ich weiß, es ist schon eine Weile her, aber ich wollte zu teilen, was es gelöst für mich.
Wie es aussieht ist die Hauptursache für dieses problem ist die Art, wie log4net benötigt es die config-Datei in der assembly info der Bibliothek-Klasse. WPF scheint es nicht zu mögen. Die Referenzierung von log4net in der wpf-app selbst verursacht die log4net-config-Datei überschrieben werden für mich, da der wpf-Anwendung wird später in der build-order und generiert eine Standard-log4net-config-Datei.
Also fix die Bibliothek-Klasse für die Verwendung mit der Montage vorspannen, Bearbeiten es wie folgt:
In der Bibliothek-Klasse löschen Sie diese Zeile in AssemblyInfo.cs :
Nun in der Einstiegspunkt der Bibliothek einrichten der logger wie diese:
Wenn Sie setup log4net in der app.config-Datei, einfach Referenz, dass man.
Fand ich diese Lösung hier.