Laden...

Abhängigkeiten nicht einzeln ausliefern? (kein ILMerge)

Erstellt von Froggie vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.362 Views
F
Froggie Themenstarter:in
323 Beiträge seit 2007
vor 13 Jahren
Abhängigkeiten nicht einzeln ausliefern? (kein ILMerge)

Hallo!

Ich habe eine Anwendung mit einigen Abhängigkeiten zu anderen DLLs. diese stammen von Drittanbietern und sind auch alle von denen signiert. Nun möchte ich aber nur meine exe-Datei ausliefern und nicht noch zig andere DLLs. also der Anwender soll nur eine exe sehen und nicht alle DLLs.

Bisher habe ich dafür ILMerge genutzt. Das funktioniert hier aber aus mehreren Gründen nicht.

  1. Ich kann die DLLs nicht mit meiner Signatur neu signieren
  2. Es gibt Ressourcen zu einigen Abhängigkeiten. Die kann man auch nicht mit ILMerge zusammenfassen.

Wie kann ich dennoch mein Ziel erreichen?

Konkret handelt es sich um die ExceptionMessageBox des Sql-Servers. Dazu habe ich die deutschen Ressourcen (im Ordner "de").

D
500 Beiträge seit 2007
vor 13 Jahren

Moin Froggie!

zu 1. Ich kann die DLLs nicht mit meiner Signatur neu signieren:

Als erstes faellt mir die Frage ein, ob es Dir rechtlich ueberhaupt erlaubt ist, Fremdassemblies zu mergen und anschliessend neu zu signieren.

zu 2. Ohne Weiteres ist das mergen von Resource/Satelliten-Assemblies nicht moeglich. Hierzu kann ich Dir folgenden Link geben: Single-assembly multi language

Aus meiner Erfahrung muss man ausserdem noch auf Dinge wie Reflection oder DI Container wie Spring.Net etc. verzichten, wenn man ILMerge einsetzt.
Du wirst sicherlich Deine Gruende habe, wieso Du eine einzige Assembly haben moechtest, aber ich sehe solch eine Anforderung stets mit ein wenig Skepsis.

Gruss,
Moe

1.130 Beiträge seit 2007
vor 13 Jahren

Assembly.Load(byte[] ) fällt mir dazu ein. Damit kann man eine assembly so wie sie ist aus dem arbeitsspeicher laden (oder mehrere hintereinander). Dann bleiben die signaturen soweit ich weiß erhalten. Ob das allerdings mit multilanguage geht, weiß ich nicht. Das automatische laden aus einem Ordner geht dann auf jeden fall nichtmher, es könnte aber gehen, wenn dein loader die benötigte sprachversion gezielt lädt.

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

742 Beiträge seit 2005
vor 13 Jahren