Hallo,
ich arbeite zur Zeit recht viel mit Reflektion, Assemblies und Types. Nun hätte ich hierzu eine Frage.
Ich versuche mittels eine Instanz eines Types zu erstellen. Dazu muss ich aber erstmal die Assembly finden und laden. Die meisten benutzen Assemblies (System, System.Windows.Forms, etc.) sind im "C:\Windows\Microsoft.NET\Framework" und dann im entsprechenden Unterverzeichnis zu finden. Es gibt aber einige, die da nicht sind (die COM-Assemblies, eigene, etc.). Nun habe ich den Ordner (oder Datei) "C:\Windows\assembly" gefunden, wo alle Assemblies, die am Computer registriert sind. Jetzt wüsste ich gerne, ob man irgendwie direkt darauf zugreifen kann, also statt überall auf dem Computer nach der Assembly (Dll-Datei oder Anwendung) zu suchen, nicht einfach diesen Ordner auslesen kann und direkt dadraus die Assembly laden kann.
Eine andere Möglichkeit wäre, diesen Code zu benutzen: dotnet-snippets.de/dns/c-liefe…bly-cache-gac-SID859.aspx . Da werden alle Assemblies aufgelistet, die auf dem Computer registriert sind.Wenn ich dann aber mit
versuche eine Assembly zu laden, kommt ein Fehler "Die Datei oder Assembly ... konnte nicht gefunden werden".
Vielleicht weis einer von euch eine Möglichkeit, wie man ohne den ganzen Computer durchsuchen zu müssen, schnell eine beliebige Assembly laden kann.
Alteran
ich arbeite zur Zeit recht viel mit Reflektion, Assemblies und Types. Nun hätte ich hierzu eine Frage.
Ich versuche mittels eine Instanz eines Types zu erstellen. Dazu muss ich aber erstmal die Assembly finden und laden. Die meisten benutzen Assemblies (System, System.Windows.Forms, etc.) sind im "C:\Windows\Microsoft.NET\Framework" und dann im entsprechenden Unterverzeichnis zu finden. Es gibt aber einige, die da nicht sind (die COM-Assemblies, eigene, etc.). Nun habe ich den Ordner (oder Datei) "C:\Windows\assembly" gefunden, wo alle Assemblies, die am Computer registriert sind. Jetzt wüsste ich gerne, ob man irgendwie direkt darauf zugreifen kann, also statt überall auf dem Computer nach der Assembly (Dll-Datei oder Anwendung) zu suchen, nicht einfach diesen Ordner auslesen kann und direkt dadraus die Assembly laden kann.
Eine andere Möglichkeit wäre, diesen Code zu benutzen: dotnet-snippets.de/dns/c-liefe…bly-cache-gac-SID859.aspx . Da werden alle Assemblies aufgelistet, die auf dem Computer registriert sind.Wenn ich dann aber mit
Vielleicht weis einer von euch eine Möglichkeit, wie man ohne den ganzen Computer durchsuchen zu müssen, schnell eine beliebige Assembly laden kann.
Alteran