我正在試圖從C#使用Process.Start
致電tlbExp.exe
。我通過命令字符串作爲參數,但不管是什麼味道的呢,我總是一個錯誤消息結束了:從C#調用Windows .exe#
The system cannot find the file specified
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(String fileName)
如果我嘗試在命令窗口內運行的命令字符串在調試時,它確實它應該發生什麼(由dll生成的tlb)。但是,我無法從代碼中獲取它。
string tlb;
...
tlb += @"C:\Program files\Microsoft SDKs\Windows\v6.0A\bin\tlbExp.exe";
tlb += @""""; tlb += @" """; tlb += outputDllPath;
tlb += @""" /out:"""; tlb += outputTlbPath; tlb += @"""";
Process.Start(tlb);
另一件事,我擔心的是,我可能需要在不同的機器,不同的體系結構上部署這部分。是否有可能使這種通用? – Jerome
你的代碼在哪裏?我的猜測是「系統找不到指定的文件」:) – Liam
嘗試將tlbExp.exe的路徑放在引號中。現在系統可能試圖打開一個名爲'Program'的exe文件,位於'C:\'中。也許只需創建一個Process實例並使用StartupInfo來配置它。 – Wutz