ProcessStartInfo WorkigDirectory parameter

本文关键字:parameter WorkigDirectory ProcessStartInfo | 更新日期: 2023-09-27 18:00:55

我有一个web应用程序,我想在其中执行一个.exe文件。

 ProcessStartInfo info = new ProcessStartInfo();
 info.WorkingDirectory = this.WorkingDirectory;

当我放置时

info.WorkingDirecoty = Request.MapPath("~");
info.FileName = Server.MapPath("~/theFile.exe");

它是有效的。但当我这样说的时候:

info.WorkingDirecoty = "~";
info.FileName = "~/theFile.exe";

它不起作用,为什么??我该如何解决这个问题??还是应该始终使用Server.MapPath???

ProcessStartInfo WorkigDirectory parameter

正如MSDN所说的

Server.MapPath方法

MapPath方法映射指定的到的相对路径或虚拟路径上的相应物理目录服务器。

并且您需要提供ProcessStartInfo的直接文件路径所以在这种情况下你应该使用Server.MapPath

如果您因为引用System.Web而不想使用Server.MapPath,您可以在该库类中创建一个BaseDir属性,并从您引用它的世界传递它。

希望这能有所帮助。