我正在使用DotNetZip(Ionic.Zip.dll)创建SFX文件,但收到此消息。 编译提取逻辑时出错!路径\ ionic.zip- [SomeDate] .cs位于Ionic.Zip.ZipFile._SaveSfxStub(字符串exeToGenerate,SelfExtractorSaveOptions选项) 在Ionic.Zip.ZipFile.SaveSelfExtractor(字符串exeToGenerate,SelfExtractorSaveOptions选项)
所生成的.cs文件具有以下消息: 错误CS2005:缺少'/ res:'选项的文件规范
我正在将此代码添加到我提供支持的程序的C#类中,因此我不知道是否需要某种配置或权限才能使用此DLL。我没有任何类型的Internet连接,所以我使用的是“ dll-found.com”中的dll。
我尝试使用此方法的其他重载,只是发送SelfExtractorFlavor.WinFormsApplication选项,但它不起作用,并向我发送另一条错误消息(找不到文件)。
我已经在Visual Studio 2015项目中下载并引用了Ionic.Zip.dll,没有Nuget或类似文件。
try {
using (ZipFile zip = new ZipFile()) {
DirectoryInfo d = new DirectoryInfo(sRuta);
FileInfo[] Files = d.GetFiles();
foreach (FileInfo file in Files) {
if (file.Name.EndsWith(".zip") || file.Name.EndsWith(".bat") || file.Name.EndsWith(".exe") || file.Name.EndsWith(".vbs")) {
if (file.Name.EndsWith(".zip")) {
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.None;
zip.AddFile(file.FullName, "");
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.Default;
}
else {
zip.AddFile(file.FullName, "");
}
}
}
SelfExtractorSaveOptions options = new
SelfExtractorSaveOptions();
options.Flavor = SelfExtractorFlavor.WinFormsApplication;
options.DefaultExtractDirectory = @"E:\tmpEdify\Res_" + sBoletin;
options.ExtractExistingFile = ExtractExistingFileAction.OverwriteSilently;
zip.Save(sRuta + "\\Res_" + sBoletin + ".zip");
string sSelfExtractor = sRuta + "\\Res_" + sBoletin + ".exe";
zip.SaveSelfExtractor(sSelfExtractor, options);
}
}
catch(Exception ex) {
System.Windows.Forms.MessageBox.Show("Error:" + ex);
}
我看过很多教程,但是都没有这个错误。