Posso includere dll in exe (in Visual Studio)? [duplicare]
-
20-08-2019 - |
Domanda
Possibile duplicato:
Applicazione Windows .NET, può essere compressa in un singolo .exe?
Per eseguire la mia app ho bisogno di AxInterop.WMPLib.dll
e Interop.WMPLib.dll
che si trovano nella cartella Debug and Release. Esiste un modo per includere quelle dll in exe in modo che la mia app sia disponibile in un solo file?
Soluzione
Finché le DLL sono assembly .NET, quindi ILMerge dovrebbe essere in grado di combinare il tuo exe e tutte le sue dipendenze in un singolo file.
Altri suggerimenti
Puoi usare uno strumento come boxedapp o thinstall ...
Raccomando anche boxedapp. È un'ottima app!
Includili come incorporati. È quindi possibile estrarli in fase di esecuzione.
Sì, ho lasciato fuori il codice per scrivere il file ...
FileStream so=new FileStream("c:\\\wherever\\\x.dll",FileMode.Create);
so.Write(buf,0,ssize);
so.Close();
Nessuna utilità aggiuntiva richiesta.
Ad esempio, aggiungi x.dll al progetto e imposta la sua azione di compilazione su Risorsa incorporata.
Per estrarre:
string AppPath=Assembly.GetExecutingAssembly().Location;
Assembly ThisAssembly=Assembly.LoadFrom(AppPath);
System.IO.Stream fs=ThisAssembly.GetManifestResourceStream("yourproectname.x.dll");
int ssize=(int)fs.Length;
byte [] buf=new byte[ssize];
fs.Read(buf,0,ssize);
fs.Close();