我可以在 exe 中包含 dll(在 Visual Studio 中)吗? [重复]

问题描述 投票:0回答:5

要运行我的应用程序,我需要位于调试和发布文件夹中的

AxInterop.WMPLib.dll
Interop.WMPLib.dll
。有没有办法将这些 dll 包含到 exe 中,以便我的应用程序仅在一个文件中可用?

visual-studio dll include release exec
5个回答
19
投票

只要您的 DLL 是 .NET 程序集,那么 ILMerge 就应该能够将您的 exe 及其所有依赖项组合到一个文件中。


4
投票

您可以使用 boxedapp 或 thinstall 等工具...


4
投票

我还推荐boxedapp。这是很棒的应用程序!


0
投票

是的,我遗漏了写文件的代码......

FileStream so=new FileStream("c:\\\wherever\\\x.dll",FileMode.Create);

so.Write(buf,0,ssize);

so.Close();

无需额外的公用设施。


-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();
© www.soinside.com 2019 - 2024. All rights reserved.