我正在尝试使用7-zip压缩来创建示例中给出的示例文件的zip。
http://www.dotnetperls.com/7-zip
如URL所示,“您必须指定“如果更新则复制”或“始终复制”,以将可执行文件等文件复制到输出目录。

我发现当我在VS Project中使用此代码时,当我在属性窗口中看到7za.exe的属性时,确实获得了指定“如果更新则复制”的选项

但是,当我在VS网站中使用时,找不到该选项。结果,当我调试该程序时,它说它找不到7za.exe。

string sourceName = "pdfSample.pdf";
string targetName = "pdfSample.gz";

ProcessStartInfo p = new ProcessStartInfo();
p.FileName = "7za.exe";

p.Arguments = "a -tgzip \"" + targetName + "\" \"" + sourceName + "\" -mx=9";
p.WindowStyle = ProcessWindowStyle.Hidden;

try
{
    Process x = Process.Start(p);
    x.WaitForExit();
}
catch (Exception ex)
{
    Console.Write(ex.ToString());
}


知道为什么在VS网站上没有“如果更新则复制”选项吗?

谢谢!

最佳答案

就个人而言,我永远都不敢从ASP.NET应用程序内部启动新过程。

原因是我不知道该进程是否会显示某些窗口或执行其他操作(例如单实例)。

如果必须解决您的要求,我会use a class library to work with 7zip files

10-08 05:02