我正在尝试使用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。