c# - 删除应用程序的 DLL 依赖项

标签 c# dependencies dotnetzip

在我的应用程序中,我需要压缩和解压缩一些文件。为此,我使用了 DotNet Zip 库 (Ionic.Zip.dll-- DotNet Zip Lib)

一切正常,但是当我获取我的文件的 EXE 并尝试从不同的文件夹运行它时,它无法运行。我必须将 Ionic.Zip.dll 保存在我的应用程序所在的文件夹中。 有什么办法吗?我只想要一个没有任何附加条件的 EXE 文件.... 或者除了 DotNet Zip Lib 之外还有其他选择吗?

最佳答案

当您将对另一个程序集(例如第三方 DLL)的引用添加到您的 C# 项目时,编译器不会将该程序集的内容添加到您的 EXE 中;它只是创建一个链接,表明您的程序在运行时需要加载该 DLL。将 .NET 程序作为 EXE 文件加上它需要的 DLL 文件分发是很正常的。

但如果您愿意,可以将它们合并到一个 EXE 文件中。有几种不同的工具可以将多个 .NET 程序集合并为一个。看看ILMerge.NETZ .

关于c# - 删除应用程序的 DLL 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3994590/

相关文章:

android - 实现 DI 时是否应该注入(inject) viewholder?

c# - DotNetZip 失败并显示 "stream does not support seek operations"

c# - DataList 上的鼠标悬停图像弹出窗口在 Asp.net 中不起作用

c# - 任务中抛出的异常只有在代码经过优化后才会得到处理

c# - 主数据管理 - 数据冗余

python - 在 azure 上安装附加组件以与 python webapp 一起使用

hadoop - Oozie + Sqoop : JDBC Driver Jar Location

c# - 提供下载链接而不在服务器上创建文件

c# - 加密的 zip 文件也可以保护其内部目录吗

c# - 使用 Union 和 Select 时,LINQ 没有在我的 IEnumerator 上调用 Dispose,这是预期的行为还是错误?