Kennt jemand eine Möglichkeit im Microsoft .NET-Framework, die Syntax und nur die Syntax einer bestimmten C # -Datei zu überprüfen?
Für einen kleinen Hintergrund interessiert mich das Einrichten von syntastic , um die Syntax von .cs
files zu überprüfen. Standardmäßig verwendet syntastic den Mono C # -Compiler mit dem --parse
-Flag, um diese Operation durchzuführen, aber ich kann keine Entsprechung im Microsoft .NET-Framework finden.
Mein erster Versuch, dies zum Laufen zu bringen, war die Verwendung von csc /target:library /nologo
anstelle von mcs --parse
, aber das Problem ist, dass dies pro Datei aufgerufen wird. Daher meldet es fehlende Namespaces (die im vollständigen Projektbuild vorhanden sind) und nicht nur syntaktische Fehler.
Ich habe NRefactory zuvor von der isharpcode IDE verwendet. Es ist schnell und einfach für grundlegende Sachen.
siehe diesen Artikel: Verwenden von NRefactory zum Analysieren von C # -Code
Ich verwende es zum Erstellen von VB.NET-Beispielen aus C # -Beispielen. Die Methode, die das tut, ist wirklich unkompliziert und kann leicht an Ihre Bedürfnisse angepasst werden:
%Vor%Hinweis: Der vorhergehende Code stammt von einer älteren Version und kann möglicherweise nicht mit der neuesten Version der NRefactory-Bibliothek kompiliert werden.
Sie können dies über das Roslyn CTP tun. Es ermöglicht Ihnen, die CS-Datei vollständig zu analysieren und die gesamte Struktur zu durchsuchen, um nach Fehlern zu suchen.
Für Details empfehle ich, die Komplettlösung: Erste Schritte mit der Syntaxanalyse für C # herunterzuladen, wie es sich zeigt Sie den grundlegenden Ansatz zum Betrachten von Syntaxbäumen in einer C # -Datei.
Ich denke, ich habe vielleicht eine Lösung für Ihre Frage. Wenn Sie versuchen, die Syntax von Code zu überprüfen, ohne im Debugger zu sein, können Sie einen Online-Compiler als Compilr verwenden. Wenn Sie die Ergebnisse ausgeben möchten, können Sie diese erstaunliche API namens Html Agility verwenden, um die Ergebnisse des Online-Compilers mit Leichtigkeit zu erfassen. Hoffe das hat geholfen!
Tags und Links c# vim syntastic syntax-checking