..我不明白为什么。我可以从调试文件夹(在wpf中创建的应用程序)运行exe输出文件,但我无法运行文件我需要将产品发送到以太网连接的重量。 这个exe文件读取.plu文件(逐个产品)并将它们添加到重量记忆中。
代码使用:
using (StreamWriter sw = new StreamWriter(appPath + "\\Wagi\\" + cbi.Content.ToString() + "\\Kasa1.plu"))
{
sw.WriteLine("[MT_STAND_FIRE,PLU,WRITE,0,0,0,0]");
foreach (DataRowView item in prodDG.Items)
{
//write lines about products
}
sw.WriteLine("[MT_STAND_FIRE,Extra Text,WRITE,0,0,0,0]");
sw.WriteLine("[MT_STAND_FIRE,Preset Key,Write,0,0,0,0]");
}
string ExecutableFilePath = appPath + @"\Wagi\" + cbi.Content.ToString() + @"\bComScale.exe";
if (File.Exists(ExecutableFilePath))
{
Process.Start(ExecutableFilePath);
}
有什么想法吗?
答案 0 :(得分:1)
申请执行得很好。问题在于执行的应用程序,它似乎在寻找当前文件夹中的配置文件而不是应用程序文件夹。由于这两个可能有所不同,因此您需要使用不同的Process.Start(ProcessStartInfo)
重载,以便为流程指定ProcessStartInfo.WorkingDirectory
。
我还建议使用Path.Combine
从元素列表连接路径时:
string ExecutableFilePath = System.IO.Path.Combine(appPath, "Wagi", cbi.Content.ToString(), "bComScale.exe");