2016-04-22 3 views
1

Ich recherchiere, wie viel von der Lösung, die ich für Windows habe einfach auf Linux transplantiert werden kann. Die meisten meiner aktuellen Programme können funktionieren, aber unser bevorzugtes Protokollierungsmodul unter Windows ist NLog.benutzerdefinierte attr Fehler bei der Verwendung von NLog auf Mono auf openSUSE

Ich habe ein Problem mit openSuse. Wenn NLog beginnt (d.h. gültige Konfiguration gefunden wird), nicht das Programm mit mehreren Fehlern der Form:

Can't find custom attr constructor image: /share/MonoSIMON/MonoTestConsumer/NLog.dll mtoken: 0x0a000358 

Der Fehler erscheint 9mal mit NLog 3.2.0.0.

Zunächst lief ich mit einem neueren NLog V4.3.1.0, und das Ergebnis ist das gleiche, obwohl es stattdessen etwa 15 Kopien des Fehlers gibt.

Ich kompiliere nicht Mono oder irgendetwas, es ist alles als Standardpakete. Ich bin auf Framework 4.5 ausgerichtet, es ist eine Konsolen-App, und ich mache wirklich nichts Besonderes.

Ist es möglich, mit NLog auf openSuse zu laufen?

Danke für jede Hilfe.

Mark

+0

Sehen Sie dieses verwandte Problem, es fehlte ein Paket: https://github.com/NLog/NLog/issues/905 – Julian

+0

Ich habe diese Seite gelesen, aber ich kann kein alternatives openSuse-Paket namens libmono-system finden -servicemodel4.0a-cil. Ich bin nicht zu heiß bei Linux, wie würde ich das Paket mit zypper holen, wenn es nicht in Standard-Repos ist? –

+0

Ich denke, es wird für zukünftige Leser nützlich sein, wenn Sie die Version von OpenSUSE hinzufügen, die Sie verwendet haben, und die Version von Mono, die diese Version bietet – knocte

Antwort

1

Ich arbeitete schließlich dies aus. Julian hat mich in die Richtung des NLog-Issues-Boards gezeigt, aber dieser Paketname funktioniert nicht mit openSuse 42.1.

Eine Suche auf www.rpmfind.net zeigt, dass sich die system.service-Modellbaugruppe tatsächlich im openSuse-Paket 'mono-wcf' befindet.

zypper install mono-wcf 

Behebt das NLog-Problem.

Prost.

+0

NLog sollte nicht von WCF zu laufen abhängen, so ist dies eindeutig ein Verpackungsfehler in opensuse, bitte melden Sie den Bug der OpenSUSE-Bugzilla und sagen etwas wie "ServiceModel dll sollte nicht von wcf-Paket, sondern von einigen libmono-system-servicemodel-Paket zur Verfügung gestellt werden, da Protokollfunktionen wie NLog nicht von WCF abhängig sein müssen" – knocte

+0

Um fair zu sein, klingt "ServiceModel" nach WCF-Art. Ich bin mir nicht sicher, dass es sich um einen Verpackungsfehler handelt, also werde ich das OpenSuse-Problem damit nicht belästigen. –

Verwandte Themen