可能重复:
.NET windows application, can it be compressed into a single .exe?
要运行我的应用程序,我需要位于Debug和Release文件夹中的AxInterop.WMPLib.dll
和Interop.WMPLib.dll
。有没有办法将这些dll包含在exe中,这样我的应用程序只能在一个文件中使用?
答案 0 :(得分:19)
只要您的DLL是.NET程序集,那么ILMerge应该能够将您的exe及其所有依赖项组合到一个文件中。
答案 1 :(得分:4)
您可以使用boxedapp或thinstall等工具......
答案 2 :(得分:4)
我也推荐boxedapp。这是一个很棒的应用程序!
答案 3 :(得分:0)
将它们包含在嵌入式中。然后,您可以在运行时提取它们。
答案 4 :(得分:0)
是的,我省略了编写文件的代码......
FileStream so=new FileStream("c:\\\wherever\\\x.dll",FileMode.Create);
so.Write(buf,0,ssize);
so.Close();
无需额外的公用事业。
答案 5 :(得分:-2)
例如,将x.dll添加到项目中并将其Build Action设置为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();