在32位和64位调试环境中使用相同的调试设置启动外部程序

时间:2009-01-08 14:11:50

标签: visual-studio-2008 debugging

我们使用32位和64位开发环境的混合体。我们的一些类库是使用32位应用程序调试的,因此我们有“启动外部程序”和“工作目录”的调试设置。问题是设置需要不同 因为32位应用程序已安装到

C:\ Program Files \ xxx(在32位开发环境中)或C:\ Program Files(x86)\ xxx(在64位开发环境中)

有没有办法使用某种标签,如%PROGRAMFILES%或$(ProgramFiles),以便Visual Studio 2008知道在哪里寻找外部程序?

这不是一个主要问题,除了解决方案文件(保存调试信息的地方)被检入源代码控制...所以从我们的源代码库获取最新版本的解决方案保持yoyo'ing调试设置在两个程序文件位置之间。

2 个答案:

答案 0 :(得分:2)

正如BQ所指出的,Start外部程序和工作目录存储在.user文件中。但是,你可以在.csproj和.user文件中使用$(Program Files)来获取与目录名相关的任何设置......唯一的技巧是你必须在文本中手动编辑相关的.user或.csproj文件编辑器。

如果用户不在Visual Studio中编辑该值,则它保持$(ProgramFiles)的值,​​并在32位和64位环境中正确扩展。

答案 1 :(得分:1)

这些调试设置“启动外部程序”和“工作目录”存储在ProjectName.csproj.user文件中,而不是解决方案(.sln)文件或项目(.csproj)文件中。通常,.user文件不包含在源代码管理中,因为它们特定于调试正在进行的用户环境。

您可以维护两个单独的.csproj.user文件(每个环境一个)并在打开解决方案之前交换到正确的版本。不理想,但总比没有好。