0

..我不知道为什么。我可以从调试文件夹(在 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);
            }

有任何想法吗?

4

1 回答 1

1

应用程序执行良好。问题出在执行的应用程序中,它似乎在当前文件夹中寻找配置文件,而不是应用程序文件夹。由于这两个可能不同,因此您需要使用不同的Process.Start(ProcessStartInfo)重载,以便您指定ProcessStartInfo.WorkingDirectory进程。

我还建议Path.Combine在连接元素列表中的路径时使用:

string ExecutableFilePath = System.IO.Path.Combine(appPath, "Wagi", cbi.Content.ToString(), "bComScale.exe");
于 2013-08-21T13:00:14.820 回答