Можно ли включить dll в exe (в Visual Studio)? [дубликат]

Возможный Дубликат:
приложение .NET windows, может быть сжато в один .exe?

для запуска моего приложения мне нужно AxInterop.WMPLib.dll и Interop.WMPLib.dll которые находятся в папке Debug и Release. Есть ли способ включить эти DLL в exe, чтобы мое приложение было доступно только в одном файле?

6 ответов


пока ваши библиотеки .Net-сборок, то ILMerge должен иметь возможность объединить ваш exe и все его зависимости в один файл.


вы можете использовать такой инструмент, как boxedapp или thinstall...


Я также рекомендую boxedapp. Это отличное приложение!


включить их как встроенные. Затем вы можете извлечь их во время выполнения.


Да, я пропустил код, чтобы записать файл...

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();