在我的应用程序中,我需要拉链并解压缩一些文件。为此,我使用了dotnet zip库(ionic.zip.dll--- dotnet zip lib )

一切正常,但是当我获取文件并尝试从其他文件夹运行它时,它无法运行。我必须将ionic.zip.dll保留在我的应用程序所在的文件夹中。有什么路吗?我只想要一个没有任何字符串的EXE文件....或除了dotnet zip lib以外还有其他选项。

有帮助吗?

解决方案

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

但是,如果您愿意,可以将它们组合到一个EXE文件中。有一些不同的工具可以将多个.NET组件合并为一个。看一下 ilmerge 或者 .netz.

其他提示

看看这个没有外部依赖性的纯C#库:

它可以包含在您的应用程序中,并直接将其编译到您的单个EXE中 - 无需外部邮政库。

您可以为此使用.NET,看看 包装名称空间 或者,如果您可以使用GZIP格式,则 班级 也是如此。使用此功能您将从项目中删除依赖关系。

如果它是一个OpenSource项目,则可以在项目中包含源代码,而无需添加对“ DLL”的引用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top