2012-07-04 16 views
29

Ich habe eine Klassenbibliothek für einen Workflow auf einem lokalen Computer erstellt und erstellen. Ich zog die komplette Lösung zu einem Server Tridion und versucht, die Montage in dem Server mit regasm.exe Werkzeug wie unten zu registrieren:Wie registriert man eine .NET Assembly als COM?

C:\User\XYZ\Desktop\>RegAsm \codebase F:\Workflow\WorkflowHandler/bin/debug/WorkflowHandler.dll 

Ich habe die folgende Fehlermeldung:

failed to load 'F:\Workflow\WorkflowHandler/bin/debug/WorkflowHandler.dll ' because it is not a valid .NET Assembly.

Mein Server Details:

64-Bit, Windows Server 2008 R2 Enterprise und .NET Framework 4 installiert.

+0

Könnte es ein 32- oder 64-Bit-Problem sein? Könnte es sein, dass das Remote-System .NET 4.0 nicht installiert hat? – reuben

+0

es ist ein 64-Bit-Server, und .net 4 installiert, und ich baute die Klassenbibliothek in Framework 4 – user1428019

+0

Sie wissen, Ihr Schrägstrich auf "\ Codebase" geht in die falsche Richtung, richtig? Es sollte "/ codebase" (ohne Anführungszeichen) sein. – reuben

Antwort

62

Sind Sie sicher, dass Sie das richtige RegAsm in Ihrem Pfad haben, da Sie es nur über den exe-Namen aufrufen, ohne den vollständigen Pfad anzugeben? Sie müssen die richtige Version von RegAsm verlangen es, zu arbeiten, dh 32 oder 64-Bit-Version von .NET 4.

Versuchen Sie den vollständigen Pfad angeben:

c:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe /codebase F:\Workflow\WorkflowHandler\bin\debug\WorkflowHandler.dll 

oder

c:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe /codebase F:\Workflow\WorkflowHandler\bin\debug\WorkflowHandler.dll 

Auch habe ich bemerkt, dass Sie im Pfad zu Ihrer Baugruppe einige / Zeichen anstelle von \ hatten. Stellen Sie sicher, dass Sie den richtigen Pfad eingeben.

+0

Vielen Dank, ich habe die falsche RegAsm.exe verwendet, jetzt kann ich mich erfolgreich registrieren. Wie kann ich prüfen, ob die registrierte Baugruppe an der richtigen Stelle ist? ob es wirklich registriert ist oder nicht? – user1428019

+0

@ user1428019 Wenn es nicht fehlgeschlagen ist, sollte es erfolgreich registriert werden. Wenn Sie Visual Studio auf dem Computer registriert haben, können Sie versuchen, einen Verweis auf eine COM-Komponente hinzuzufügen und festzustellen, ob sie dort aufgeführt ist. Andernfalls könnten Sie ein VBScript schreiben und versuchen, die COM-Komponente dort zu instanziieren. –

+0

Danke. Ich habe die Framework64 RegAsm auf einer 64-Bit-Maschine verwendet, als ich die 32-Bit-Maschine verwendet habe, die sie funktionierte. Muss eine 32-Bit-DLL sein :) –

Verwandte Themen