Domanda

Ho appena finito di costruire il mio nuovo progetto COM (C #, .NET 3.5). Questo progetto verrà chiamato da un'applicazione VFP. Funziona benissimo sulla mia macchina di sviluppo, ma ora devo sapere come distribuirla sulla macchina dell'utente. Fare clic su Once non è disponibile per questo tipo di progetto, quindi credo di essere bloccato con la distribuzione manuale della DLL.

Quindi, dove devo mettere la DLL e come la registro?

A proposito, il framework 3.5 è già installato sul computer dell'utente.

TIA

È stato utile?

Soluzione

Non ho mai usato RegSvr32 con gli assembly .Net, piuttosto uso il regasm con l'opzione / codebase:

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe /codebase mydll.dll

Puoi anche usare l'opzione / tlb per esportare la libreria dei tipi e registrarla.

Ovviamente il modo più semplice, basta creare un programma di installazione con vstudio e lo farà per te.

Altri suggerimenti

Creazione di una descrizione della classe COM e delle interfacce

Gli assembly .Net non includono informazioni nel formato compatibile con la libreria dei tipi. Pertanto, è necessario che il programmatore esegua una delle due utilità fornite da .Net per estrarre la descrizione dell'assembly di una classe in un file della libreria dei tipi.

Un'utilità è TLBEXP.EXE, l'esportatore di librerie di tipi .Net. Questa utility da riga di comando accetta come input il nome di un file DLL di assembly da convertire in una libreria dei tipi. Il programmatore può anche specificare il nome di un file della libreria dei tipi da creare.

tlbexp ComServer.dll /out:ComServer.tlb

Assembly exported to C:\Magellan\Source\Output\Debug\ComServer.tlb

Una volta creata una libreria dei tipi, può essere referenziata da un client COM per ottenere le informazioni necessarie affinché il client COM si associ alle interfacce della classe COM e attivi la classe COM in fase di runtime.

Registrazione della classe COM e delle interfacce

Affinché una classe COM sia accessibile al client in fase di esecuzione, l'infrastruttura COM deve sapere come individuare il codice che implementa la classe COM. Il seguente comando compie questo:

regasm ComServer.dll

La tua DLL può essere collocata ovunque tu voglia, ma una buona scelta è C: \ Programmi \ MyApplication.

http://www.csharphelp.com/archives/archive190.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top