要运行我的应用程序,我需要位于调试和发布文件夹中的
AxInterop.WMPLib.dll
和Interop.WMPLib.dll
。有没有办法将这些 dll 包含到 exe 中,以便我的应用程序仅在一个文件中可用?
只要您的 DLL 是 .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添加到项目中,并将其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();