在我的应用程序中,我需要压缩和解压缩一些文件。为此,我使用了DotNet Zip Library(Ionic.Zip.dll-- DotNet Zip Lib)
一切正常但是当我拿出我的文件的EXE并尝试从不同的文件夹运行它时,它无法运行。我必须将Ionic.Zip.dll保存在我的应用程序所在的文件夹中。 有什么出路吗?我只想要一个没有附加任何字符串的EXE文件.... 或者除了DotNet Zip Lib之外还有其他选择。
答案 0 :(得分:12)
当您向C#项目添加对另一个程序集(例如第三方DLL)的引用时,编译器不会将该程序集的内容添加到您的EXE中;它只是创建一个链接,表明你的程序在运行时需要加载该DLL。将.NET程序作为EXE文件以及它所需的DLL文件进行分发是很正常的。
但如果您愿意,可以将它们合并为一个EXE文件。有一些不同的工具可以将多个.NET程序集合并为一个。请查看ILMerge或.NETZ。
答案 1 :(得分:2)
答案 2 :(得分:1)
您可以使用.net,查看Packaging namespace或者如果您可以使用gzip格式,那么您也可以使用class。使用此方法,您将从项目中删除依赖项。
答案 3 :(得分:0)
如果它是一个开源项目,您只需在项目中包含源代码,而无需添加对“dll”的引用。