我们使用32位和64位开发环境的混合体。我们的一些类库是使用32位应用程序调试的,因此我们有“启动外部程序”和“工作目录”的调试设置。问题是设置需要不同 因为32位应用程序已安装到
C:\ Program Files \ xxx(在32位开发环境中)或C:\ Program Files(x86)\ xxx(在64位开发环境中)
有没有办法使用某种标签,如%PROGRAMFILES%或$(ProgramFiles),以便Visual Studio 2008知道在哪里寻找外部程序?
这不是一个主要问题,除了解决方案文件(保存调试信息的地方)被检入源代码控制...所以从我们的源代码库获取最新版本的解决方案保持yoyo'ing调试设置在两个程序文件位置之间。
答案 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文件(每个环境一个)并在打开解决方案之前交换到正确的版本。不理想,但总比没有好。