如何在调试时找到可执行文件?

时间:2014-05-21 04:50:29

标签: c# visual-studio visual-studio-2012

我有一个包含许多C#应用程序项目的Visual Studio解决方案。

Solution/
    A/
    B/
    C/
    Installer (WiX)/

其中一些可执行文件需要能够运行其他可执行文件。例如,A需要能够运行B和C.一旦安装了整个软件包,这很容易,因为可执行文件将全部安装到同一位置。但是,当我从Visual Studio内部运行程序时,即在测试和调试时,我不确定如何从B.exe找到A.exe

如果从Visual Studio运行或完全安装程序后,如何获取正确的路径?我有一些想法,但我对执行感到有些沮丧,我希望它比现在看起来更容易。我很乐意手动编辑*.csproj文件,如果这就是它。

可能的解决方案1 ​​

我可以将路径放在App.config文件中。但是,有一些问题:

  • 调试版和发布版的文件需要不同。这看起来并不容易。 An answer on Stack Overflow建议使用XSLT,这在复杂性方面有点病态,我特别不想学习另一种语言来解决这样一个简单的问题。
  • 我需要在文件包含在安装程序之前对其进行编辑,这可能是reference),但需要更多代码。

可能的解决方案2

我可以将必要的路径放在使用后期构建步骤创建的纯文本文件中,但我不知道足够的批处理脚本以便对此感到满意。

可能的解决方案3

以某种方式将B.exe复制到A的输出目录中,因此B.exe始终位于相对于A.exe的相同路径中。这会很烦人,因为已经有一些后期构建步骤复制了B.exe的一堆依赖项,并且在A的构建过程中需要再次复制这些文件。

可能的解决方案4

以某种方式调整构建过程,因此解决方案中的所有项目之间只共享一个输出目录。

非解决方案

我想保留解决方案,以便在从版本控制中检出存储库的新副本后,它可以正常工作,这意味着环境变量或命令行参数将不起作用。

0 个答案:

没有答案