Можно ли включить dll в exe (в Visual Studio)? [дубликат]
Возможный Дубликат:
приложение .NET windows, может быть сжато в один .exe?
для запуска моего приложения мне нужно AxInterop.WMPLib.dll
и Interop.WMPLib.dll
которые находятся в папке Debug и Release. Есть ли способ включить эти DLL в exe, чтобы мое приложение было доступно только в одном файле?
6 ответов
пока ваши библиотеки .Net-сборок, то ILMerge должен иметь возможность объединить ваш exe и все его зависимости в один файл.
Да, я пропустил код, чтобы записать файл...
FileStream so=new FileStream("c:\\wherever\\x.dll",FileMode.Create);
so.Write(buf,0,ssize);
so.Close();
никаких дополнительных утилит не требуется.
например, добавить x.dll к проекту и установите его действие сборки для Embedded Resource.
извлечь:
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();