2013-09-27 12 views
6

Ho creato un C# BHO che utilizza internamente Microsoft.mshtml.dll. Ora per confezionare questo BHO, devo anche distribuire Microsoft.mshtml.dll. Va bene aggiungere questa dll con le mie DLL? Qualche problema legale? Questo BHO funziona bene su ambiente dev come Microsoft.mshtml.dll è presente in Visual Studio (C: \ Windows \ assembly \ GAC \ Microsoft.mshtml \ 7.0.3300.0__b03f5f7f11d50a3a \ Microsoft.mshtml.dll) indovina, che non sarà il caso su ogni macchina. Si prega di suggerire.Problemi di ridistribuzione Microsoft.mshtml.dll

+4

Sto votando per chiudere questa domanda come off-topic perché si tratta di licenze o problemi legali, non di programmazione o sviluppo di software. [Vedi qui] (http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964) e [qui] (http://meta.stackexchange.com/questions/139804/can- domande di licenza-sempre-sul-argomento) per i dettagli e [aiuto] per ulteriori informazioni. – JasonMArcher

risposta

6

È un assembly di interoperabilità, non contiene alcun codice. Solo dichiarazioni, generate automaticamente dalla libreria dei tipi COM. La ridistribuzione va quindi bene. L'unica ragione per cui è installato nel GAC è perché è un PIA, un assembly di interoperabilità primario. Hai solo bisogno di un PIA quando scrivi una libreria di classi che espone una qualsiasi delle interfacce nei tuoi metodi pubblici. Il client di una tale libreria ha anche bisogno di un riferimento all'assembly di interoperabilità per poter usare i tuoi metodi e deve essere esattamente lo stesso che usi. Questo è raro in generale, specialmente in un BHO.

Se si utilizza una versione di Visual Studio precedente a VS2010, è sufficiente impostare la proprietà Copia locale su True per il riferimento all'assembly. Ricostruisci e otterrai una copia della DLL che è possibile distribuire insieme ai propri eseguibili.

Per VS2010 e versioni successive, si desidera davvero favorire la funzione di tipo di intervallo incorporato. Che incorpora le dichiarazioni dell'interfaccia nel proprio assieme, solo quelle effettivamente utilizzate. Il che aiuta molto a mantenere le dimensioni distribuibili del tuo BHO più piccole. Ed evita la necessità di implementare quell'assieme di interoperabilità. Fortemente raccomandato.

+0

Ok, quindi controllerò con Vstudio2010 anche l'altra opzione dovrebbe funzionare bene posso pacchettizzarla con bho dll. Hans, grazie per la risposta! – Jackie

Problemi correlati