我可以在 exe 中包含 dll(在 Visual Studio 中)吗?

发布于 2024-07-12 07:02:06 字数 384 浏览 7 评论 0原文

可能的重复:
.NET windows应用程序,可以压缩成一个 .exe?

要运行我的应用程序,我需要位于 Debug 和 Release 文件夹中的 AxInterop.WMPLib.dllInterop.WMPLib.dll 。 有没有一种方法可以将这些 dll 包含到 exe 中,以便我的应用程序仅在一个文件中可用?

Possible Duplicate:
.NET windows application, can it be compressed into a single .exe?

To run my App I need AxInterop.WMPLib.dll and Interop.WMPLib.dll that are located in Debug and Release folder. Is there any way to include those dlls into exe so my app is available in one file only?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

梦在深巷 2024-07-19 07:02:07

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

As long as your DLLs are .NET assemblies, then ILMerge should be able to combine your exe and all of its dependencies into a single file.

稚气少女 2024-07-19 07:02:07

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

You can use a tool like boxedapp or thinstall...

琉璃梦幻 2024-07-19 07:02:07

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

I also recommend boxedapp. It's great app!

娇俏 2024-07-19 07:02:07

将它们作为嵌入式包含在内。 然后您可以在运行时提取它们。

Include them as embedded. You can then extract them at run-time.

鲸落 2024-07-19 07:02:07

是的,我省略了写文件的代码...

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

so.Write(buf,0,ssize);

so.Close();

不需要额外的实用程序。

Yes, I left out the code to write the file out...

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

so.Write(buf,0,ssize);

so.Close();

No extra utilities required.

似最初 2024-07-19 07:02:07

例如,将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();

For example, add x.dll to the project and set its Build Action to Embedded Resource.

To extract:

 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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文