2009-06-11 3 views
6

Ok, also ich weiß, wie man eine Assembly stark nennt und reassm, damit ich von einer ASP-Seite darauf zugreifen kann.Ist es möglich, eine .net Assembly als COM zu registrieren, ohne sie stark zu benennen?

Durch starke Namensgebung, kann es im GAC platziert werden und somit von einer ASP-Seite leicht zugänglich sein.

Ist es möglich, die Anordnung zu irgendwie zu registrieren, ohne es mit einem starken Namen zu unterzeichnen und noch in der Lage sein, irgendwie ist es für den Zugriff von der ASP-Seite? Ich möchte dies tun, da diese .NET-Assembly nicht signierte Assemblys referenzieren und nicht so abhängig sein soll, wenn sie ihre referenzierten Assemblys aktualisiert.

Antwort

6

Sie rufen regasm mit dem/Code-Basis-Parameter:

> regasm.exe /codebase path_to_dll\yourdll.dll 

Edit: Leider ist dies falsch ...
Gerade gesehen, in der documentation, die Ihre DLL sein genannt starken hat auch: s
Aber Sie müssen es nicht in den GAC setzen!
Ich glaube nicht, dass Sie eine .Net-Bibliothek als COM-Objekte exportieren können, ohne sie stark zu benennen.

ABER (siehe die Kommentare): Anscheinend ist die Dokumentation falsch, da die Leute dies ohne starke Namensgebung getan haben (ich persönlich nicht, da alle unsere com-exposed Assemblies starken Namen haben).

+0

In Version 1.0 und 1.1 gab es absolut keine starke Namensanforderung, da ich das schon ziemlich oft gemacht habe. Das regasm-Tool gab nur eine Warnung aus, funktionierte jedoch ordnungsgemäß. Die Dokumente, für die Sie einen Link gesendet haben, waren für 1.1, also denke ich, dass die Dokumente falsch sind. –

+0

(... solange man verwendet/Code-Basis) –

+0

(... obwohl ich immer gebraucht/Code-Basis an die DLL in meiner Web-Anwendung/sind spitz) –