Veröffentlicht 4. August 200916 j Weiß jemand wie ich mit dem CSharpCodeProvider eine signierte Assembly erstellen kann?
4. August 200916 j Signieren einer Assembly mit einem starken Namen [.NET 2.0] Alternativ für das .NET 3.5, wäre dies die anlaufstelle: Klick mich
4. August 200916 j Autor Ja ne ich will das das Output des CodeProviders schon signiert ist und nicht es nachträglich signieren. Die Assembly soll auch nur im Memory erstellt werden und nicht als wirkliche Datei auf der Festplatte was das ja dann eh schwierig machen würde. Trotzdem danke
4. August 200916 j Die Assembly soll auch nur im Memory erstellt werden und nicht als wirkliche Datei auf der Festplatte was das ja dann eh schwierig machen würde. Wofür willst Du dann die Signierung? Wenn Du das Assembly eh zur Laufzeit erstellst und verwendest, hast Du doch eh nichts von der Signierung (oder :confused: )
4. August 200916 j Autor Doch wenn die DLL runtergeladen und woanders gespeichert wird aber da wo sie erstellt wird nicht benötigt wird
4. August 200916 j Hmm... also jemand klickt irgendwo hin, und Du erstellst daraufhin den Code für das Assembly, kompilierst dies und gibst das Ergebnis quasi per MemoryStream raus? Wenn im Studio ein Assembly signiert wird, geschieht dies beim Compilieren. Dazu muss dass Assembly das [assembly: AssemblyKeyFile(@"C:\mykey.snk")] Attribut haben. Möglicherweise reicht das schon aus um ein Assembly mit StrongName zu erzeugen.
5. August 200916 j Autor Ja also es reicht aus das er zumindest versucht zu signieren, leider bekomme ich aber den Fehler error CS1548: Kryptografischer Fehler beim Signieren der Assembly c:\test.dll -- Ungültige Anbieterversion . Weiß noch nicht woran das liegt, wahrscheinlich fehlt irgendeine andere Angabe. Bei den normalen Projekten ist das immer über die Projekteinstellungen gemacht. Ich hab das ganze zwischenzeitlich auch mal per Refelction.Emit bzw. mit DefineDynamicModule versucht. Das erstellen der Assembly klappt auch ganz gut wenn man sich ein wenig mit dem IL Code rumgeschlagen hat. Aber wenn ich das Zertifikat hier dem AssemblyName zum signieren hinzufügen will klappt das komischerweise auch nicht mit der Meldung das der Public Key nicht geholt werden könne obwohl im X509Certificate2 alles drin ist... Alles nicht so einfach
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.