9 Stimmen

Problem bei der Registrierung einer dll - Zugriff verweigert

Wenn Sie versuchen, regasm in Win2008 Server auszuführen:

regasm "C:\Program Files\FooProg\Bar.dll" /tlb:"C:\Program Files\FooProg\Bar.tlb"

Ich erhalte den folgenden Fehler:

RegAsm : Fehler RA0000 : Ein Fehler ist beim Speichern der exportierten Typbibliothek: Der Zugriff wurde verweigert. (Ausnahme von HRESULT: 0x80070005 (E_ACCESSDENIED))

Was bedeutet das?

2voto

MPelletier Punkte 15633

Ich hatte einen verirrten dllhost.exe-Prozess. Wenn ich ihn beendete, konnte ich die .tlb-Datei löschen und neu registrieren. Andere Ansätze (IIS stoppen, Anwendungspools stoppen, alle IDEs schließen) hatten keine Wirkung.

2voto

Bei mir wurde die Datei von einer anderen Anwendung verwendet

1voto

Dominik Ras Punkte 501

Dieser Fehler tritt höchstwahrscheinlich auf, weil Sie eine entsprechende .tlb-Datei nicht löschen können. Zwei weitere Vorschläge: 1. Beenden Sie IIS und versuchen Sie, sich erneut zu registrieren: 2. Beenden Sie den IIS, entfernen Sie die .tlb-Dateien von dem Ort, an dem sich Ihre DLL-Datei befindet, und versuchen Sie dann erneut, sich zu registrieren.

1voto

Ryan Lundy Punkte 195074

Dieses Problem kann auch auftreten, wenn Sie nicht den vollständigen Pfad in der Datei /tlb Argument.

Es wird versuchen, an C:\windows\system32 . Selbst wenn Sie als Administrator ausgeführt werden, haben Sie standardmäßig keine Schreibrechte für dieses Verzeichnis.

Die Lösung besteht einfach darin, einen vollständigen Pfad (zu einem Verzeichnis, auf das Sie Rechte haben) in der Datei /tlb Argument.

0voto

autodidact Punkte 19

Zuerst musste ich alle Leerzeichen im Pfad zu meiner dll entfernen, bevor regasm die dll-Datei fand.

Aber als ich es mit Anführungszeichen um die Ziele herum versuchte, funktionierte es trotzdem.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X