2009-07-09 15 views
6

Sto creando una classe LLibrary in C# utilizzando Microsoft fornito da Dll.Come collegare staticamente le librerie per un ClassLibrary C#?

Ora voglio aggiungere staticamente le librerie fornite da Microsoft a My Dll. Come posso fare questo. Ho semplicemente aggiunto un riferimento alle Dll fornite da Microsoft e alla creazione di My Dll? Va bene o no?

se Microsoft ha fornito la dll non è disponibile su un'altra macchina, quindi la mia DLL potrebbe non funzionare correttamente, devo aggiungere le librerie staticamente ??

Come posso fare questo ??

+0

Cosa stai cercando di realizzare con questo? –

risposta

6

Non esiste un collegamento statico a un altro assieme in .NET. Esistono alcuni prodotti di terze parti come .NET linker che uniscono gli assembly in uno ma non sono supportati.

Se si dispone della licenza di ridistribuzione per tale libreria, è possibile spedire una copia insieme all'assieme. In Visual Studio è possibile rendere ciò possibile impostando "Copia locale" su "Vero" nella finestra delle proprietà per quel riferimento all'assembly.

3

Se la DLL non è disponibile al momento dell'esecuzione; sì, fallirà. Tuttavia:

  • molte DLL di Microsoft sono pre-installati con .NET (avvertenza: "Profilo cliente")
  • molte delle DLL di Microsoft sono ridistribuibile; quindi puoi includerli con il pacchetto

Non esiste un linker fornito nel framework principale, sebbene ILMerge possa essere utile.

0

Non è molto chiaro ciò che si desidera ottenere ma sembra che si tenga presente che la classe lib funzionerà su qualche altra macchina o meno. Il fatto è che il framework .Net è una ridistribuibile gratuita che dovrebbe essere installata se non presente sulla macchina di destinazione. Con il framework .Net già installato su una macchina, non ci dovrebbero essere problemi in quanto tali.

Il collegamento statico come tale non ha senso in .Net altro che aggiungere un riferimento all'assembly al progetto. Spero che aiuti

+0

Quando si collega staticamente una DLL in C++, l'exe e la DLL si combinano in un unico file che rende più facile la distribuzione e l'esecuzione in ambienti limitati. –

Problemi correlati