我正在C#中执行一个进程,但我希望能够在不指定路径的情况下执行此操作。我在哪里可以将可执行文件放在项目中,以便代码找到它指定路径?
目前我有:
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = @"C:\Docs\wkhtmltopdf.exe";
哪个运行正常,但我想最终得到的是:
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "wkhtmltopdf.exe";
我已经尝试将EXE放在项目的一个文件夹中,项目的根目录中,在项目的bin
文件夹中 - 都没有成功。
答案 0 :(得分:6)
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "wkhtmltopdf.exe";
psi.WorkingDirectory = Environment.CurrentDirectory;
Process proc = Process.Start(psi);
答案 1 :(得分:2)
我现在在猜,但也许这将是helfpul?
http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.workingdirectory.aspx
只需将此路径设置为Environment.CurrentDirectory
答案 2 :(得分:0)
随时放置二进制文件并将此文件夹添加到系统的%PATH%变量
答案 3 :(得分:0)
我会使用其中一个Enviroment.SpecialFolders。
然后,您可以推断出正确的路径,而无需对任何值进行硬编码或必须向用户请求输入。