Мы используем смесь 32-битных и 64-битных сред разработки. Некоторые из наших библиотек классов отлаживаются с помощью 32-разрядного приложения, поэтому у нас есть параметры отладки для «Запустить внешнюю программу» и «Рабочий каталог». Проблема в том, что настройки должны быть разными поскольку 32-битное приложение установлено в
C: \ Program Files \ xxx (в 32-битной среде разработки) или C: \ Program Files (x86) \ xxx (в 64-битной среде разработки)
Есть ли способ использовать какой-то тег, например% PROGRAMFILES% или $ (ProgramFiles), чтобы Visual Studio 2008 знала, где искать внешнюю программу?
Это не было бы серьезной проблемой, за исключением того, что файл решения (в котором сохраняется отладочная информация) проверяется в системе управления версиями ... поэтому получение последней версии решения из нашего исходного репозитория позволяет сохранить настройки отладки между двумя расположение файлов программы.





Эти параметры отладки, «Запуск внешней программы» и «Рабочий каталог», хранятся в файле ProjectName.csproj.user, а не в файле решения (.sln) или файле проекта (.csproj). Как правило, файлы .user не включаются в систему управления версиями, поскольку они относятся к среде пользователя, в которой происходит отладка.
Вы можете сохранить два отдельных файла .csproj.user (по одному для каждой среды) и переключиться на правильную версию перед открытием решения. Не идеально, но лучше, чем ничего.
Как указывает BQ, запуск внешней программы и рабочий каталог хранятся в файле .user. Однако вы можете использовать $ (Program Files) как в файлах .csproj, так и в файлах .user для любого параметра, относящегося к имени каталога ... единственный трюк заключается в том, что вам нужно вручную отредактировать соответствующий файл .user или .csproj в тексте. редактор.
Если пользователь не редактирует значение в Visual Studio, оно поддерживает его значение $ (ProgramFiles) и правильно расширяется как в 32-битной, так и в 64-битной средах.
Вы нашли для этого хорошее решение?