2017-03-21 2 views
0

Ich plane, Roslyn für einen benutzerdefinierten Projekttyp zu verwenden, der C# -Syntax verwendet. Der Code wird nicht in Assemblys kompiliert, sondern in einem benutzerdefinierten Format, und das Ergebnis wird in keiner CLR ausgeführt. Einige der einfachen Editor-Funktionen funktionieren gut.Stellen Sie gefälschte Metadaten für Roslyn bereit

Jetzt möchte ich immer noch die Intellisense und Fehlerberichterstattung von Roslyn so viel wie möglich verwenden. Mein Verständnis ist, dass diese Features von Grund auf aufgebaut sind, um entweder C# Quellcode zu unterstützen, den ich habe, oder .NET Assemblies, die ich nicht habe. Also dachte ich, ich könnte Roslyn meine benutzerdefinierten Metadaten so zur Verfügung stellen, dass die Roslyn-Infrastruktur sie immer noch als normale Assembly-Referenz behandeln kann.

Ich schaute durch den Quellcode, aber ich konnte einfach nicht den richtigen Ort zum Starten finden. Kann mir jemand in die richtige Richtung zeigen?

+0

Können Sie keine .Net-Referenzbaugruppen für Ihre "gefälschten" Metadaten erstellen? – svick

Antwort

0

Sie sollten einen Blick auf die Klasse werfen. Dies stellt Metadaten für die Roslyn-Dienste bereit. Hier würde ich eine eigene Unterklasse erstellen.

+0

Aber das wäre wahrscheinlich nicht einfacher als einfach eine Baugruppe zu erstellen; Sie benötigen immer noch CLI-Metadaten. – SLaks

Verwandte Themen