Ich habe versucht, eine Assembly in GAC mit zu installieren
new System.EnterpriseServices.Internal.Publish().GACInstall("Foo.dll");
Ich konnte jedoch nicht finden, dass es im Ordner c: \ windows \ assembly \ gac_msil installiert ist. Ich habe die Sicherheitsüberschreitung ebenfalls nicht erhalten. Kann mir jemand helfen?
Stellen Sie zunächst sicher, dass es signiert ist. Ich nehme an, es ist, seit Sie keine Ausnahmen erhalten haben. Wenn es sich um eine .NET 4.0-Assembly handelt, wird sie außerdem an einer neuen Position @% windir% \ Microsoft.NET \ assembly \
bereitgestelltMehr dazu hier: .NET 4.0 hat einen neuen GAC, warum?
UPDATE: Unterzeichnende Assembly
Klicken Sie mit der rechten Maustaste auf das Assembly-Projekt und gehen Sie zu "Eigenschaften". Wählen Sie im Fenster "Projekteigenschaften" die Registerkarte "Signieren". Aktivieren Sie "Unterschreiben Sie die Assembly" und wählen Sie in der "Schlüsseldatei für den starken Namen auswählen" "neu". Das öffnet einen Dialog, in dem Sie den Schlüsselnamen angeben müssen. Normalerweise verwende ich den Lösungsnamen als meinen Schlüsselnamen. Sie können den Schlüssel auch mit einem Passwort schützen (Ihre Präferenz). Sobald Sie fertig sind, klicken Sie im Dialog auf "OK" und erstellen Sie Ihr Projekt. Versuchen Sie es jetzt erneut.
Schnellvorschlag: Wenn Sie mehrere Assemblys in dem Projekt haben, das Sie als GAC verwenden möchten, können Sie dieselbe Schlüsseldatei verwenden, anstatt jeweils eine neue Schlüsseldatei zu erstellen. Normalerweise lasse ich meine Schlüsseldatei am selben Speicherort ablegen, an dem sich meine Solution-Datei befindet, und teile sie über Projekte in der Lösung.
Tags und Links .net c# gac .net-assembly