1

我希望在运行我自己的项目时调用另一个 exe。

string appRoot =Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

为此我得到这个路径:C:\Users\Jeff TungMbp\Documents\Visual Studio 2010\Projects\menuSystemTutorial\menuSystemTutorial\ menuSystemTutorial\bin\x86\Debug\xxxxx.exe

这不是我想去的浴池。

我希望访问此路径:C:\Users\Jeff TungMbp\Documents\Visual Studio 2010\Projects\menuSystemTutorial\menuSystemTutorial\ menuSystemTutorial\xxxxxx.exe

我不想做像System.Process(@"C:\xxxxxxx")这样的硬代码。

我希望访问路径的原因是因为我已将 .exe 文件导入到我的项目中,我希望访问的路径是 .exe 的确切位置。

有什么办法可以解决这个问题?或者,在将项目发布为安装文件后,还有其他方法可以将 .exe 文件附加到我的项目中吗?

谢谢。

4

1 回答 1

0

好吧,我不相信有一种方法可以在没有自定义情况的情况下直接指向您的menuSystemTutorial\xxxxxx.exe路径。

由于GetExecutingAssembly()方法获取包含当前正在执行的代码的程序集,并且 Visual Studio 在文件夹下创建您的程序 exe bin\x86\Debug,在我看来,没有办法做到这一点。

但是如果可以从原来的路径中得到你想要的路径,你可以使用string.Replace()类似的方法;

string appRoot = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location).Replace(@"bin\x86\Debug\", "");
于 2013-03-23T22:22:29.380 回答