2016-03-25 12 views
1

In VB.NET (oder C#), wie kann ich zur Laufzeit feststellen, welche Namespaces in den Projekteigenschaften importiert werden? Ich werde dies für die dynamische Kompilierung verwenden. Ich möchte, dass der dynamische Code automatisch die gleichen Imports wie sein übergeordnetes Projekt enthält.VB.NET ermitteln die importierten Namespaces des Projekts zur Laufzeit

Ich habe bereits gesehen "Finden aller Namespaces in einer Baugruppe mit Reflection (DotNET)". Es und andere Beispiele, die ich gefunden habe, scheinen mein Problem nicht zu lösen, da ich festgestellt habe, dass sie eine Liste aller Projektreferenzen enthalten. Ja, ich möchte, dass alle zugänglich sind, aber einige durch vollständig qualifizierte Namen und nicht alle in den Root-Namespace importiert. Und ich möchte nur über die vorhandene Liste "Importierte Namespaces" der Projekteigenschaften auswählen, anstatt eine separate und redundante Liste in meiner dynamischen Ausführungsklasse zu führen.

+0

Mögliches Duplikat von [Suchen aller Namespaces in einer Baugruppe mit Reflection (DotNET)] (http://stackoverflow.com/questions/1549198/finding-all-namespaces-in-an-assembly-using-reflection-dotnet) – thehennyy

+0

Danke, aber nicht was ich brauche. Ich habe meine ursprüngliche Frage bearbeitet, um besser erklären zu können, was erforderlich ist. –

+0

Für mich ist es immer noch nicht klar, was Sie erreichen wollen. Können Sie ein vollständiges Beispiel geben? Welches Ergebnis erwarten Sie unter welchen Bedingungen? – thehennyy

Antwort

1

Was Sie beschreiben, ist mit der kompilierten Assembly nicht möglich, da es eine Compiler-Funktion ist. Nach dem Übersetzen gibt es nur die Information der verwendeten Typen (was man durch Reflektion bekommen kann), nicht wie sie im Quellcode referenziert wurden.

Verwandte Themen