Ich benutze MvvmCross. In der Bibliothek sehe ich die Verwendung der Mvx.Trace-Methode, aber keine Ausgabe in der Konsole / Ausgabefenster. Wie man es benutzt?
ps. Ich habe die Compiler-Konstante Trace = true
gesetztDanke.
MvvmCross DebugTrace wird über eine Singleton-Implementierung von IMvxTrace
Jede Plattform bietet verschiedene Implementierungen davon:
Debug
trace (weil Trace
selbst nicht auf allen Windows-Plattformen verfügbar ist) Debug
als auch von Android log
Debug
als auch von iOS Console
Dies funktionierte gut in früheren Versionen von MvvmCross, besonders dort, wo Leute direkt mit dem MvvmCross-Quellcode verbunden waren und so direkt an die Debug- oder Release-MvvmCross-Binärdateien binden konnten.
Wie auch immer ... weil die Leute jetzt in zunehmendem Maße die Release-Binaries von Nuget verwenden - in denen Debug
natürlich kompiliert wird, dann lassen die Leute oft fragen: "Wie man es benutzt?"
Der einfachste Weg ist, die Initialisierung von IMvxTrace in Ihrer Setup
-Klasse zu überschreiben.
Das ist einfach zu machen - z.B.:
%Vor% wo MyDebugTrace
ist etwas wie:
Wenn Sie verschiedene Implementierungen für Debug / Release einschließen wollten; wenn Sie dies zur Laufzeit ein- / ausschalten wollten; wenn Sie nach MvxTraceLevel
oder tag
filtern möchten; oder wenn Sie eine Protokollierungs-Engine eines Drittanbieters verwenden möchten, sollte dies auch einfach mit einfachen C # auf jeder Plattform möglich sein.
Schlagen Sie einfach ein Problem auf iOS mit der aktuellen Lösung von Stuart.
Das Ausführen einer Debugsitzung in VS mit dem MvxTrace mit Debug.WriteLine
kann extrem langsam sein, je nachdem, wie ausführlich die Protokollierung Ihrer Anwendung ist. Gleiches gilt für Trace.WriteLinte
.
Verwenden Sie stattdessen Console.WriteLine
(wie MvvmCross MvxDebugTrace
tut), was nicht betroffen ist.
Sehen Sie diesen Xamarin-Bug-Gegenstand für "weitere" Details: Ссылка
Tags und Links mono xamarin.ios xamarin xamarin.android mvvmcross