Параметр ProcessStartInfo WorkigDirectory - PullRequest
0 голосов
/ 01 июля 2011

У меня есть веб-приложение, в котором я хочу выполнить файл .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 ???

1 Ответ

1 голос
/ 01 июля 2011

Как сказано в MSDN

Метод Server.MapPath

Метод MapPath отображает указанный относительный или виртуальный путь в соответствующий физический каталог на сервере.

и вам нужно указать прямой путь к файлу ProcessStartInfo. Поэтому в этом случае следует использовать Server.MapPath

Если вы не хотите использовать Server.MapPath из-за ссылки на System.Web, вы можете создатьсвойство BaseDir в этом библиотечном классе и передать его из мира, в котором у вас есть ссылка на него.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...