Вынудите VS2010 сохранить выходной путь сборки абсолютным

Мы хотим иметь наш сервер сборки, отправляют вывод каждой сборки к
C:\Projects\{project name}\build\{build configuration}\.

Для выполнения этого я установил Сборку Выведенное свойство пути для моих проектов к этому в Visual Studio 2010 и сборка локально, чтобы удостовериться, что все работает. Когда я делаю так, Visual Studio изменяет путь к относительному, например ..\..\build\Debug.

Так как каталог проекта не является тем же на сервере сборки (мы используем TeamCity, таким образом, URL проекта, там что-то как C:\BuildAgent\work\9358A92GF92), вывод не заканчивается, где мы хотим это.

Как я заставляю Visual Studio не измениться, сборка произвела пути к относительным путям?

7
задан Tomas Aschan 7 July 2010 в 11:15
поделиться

1 ответ

Вы не можете убедить IDE сделать его абсолютным. Возможные решения:

  1. Используйте событие после сборки для копирования выходных данных сборки
  2. Она не сделает путь относительным, если выходной каталог находится на другом диске. Можно использовать команду SUBST для сопоставления буквы диска, например z:, с папкой на c: и таким образом обмануть IDE
  3. Запустите msbuild.exe непосредственно на машине сборки. Используйте параметр командной строки /p, чтобы установить для свойства OutDir другое значение.

Решение 3, вероятно, лучшее, поскольку вы можете сделать его специфичным для машины сборки без необходимости возиться с файлами проекта и усложнять жизнь разработчикам. Команда должна выглядеть примерно так:

 msbuild /p:outdir=c:\mumble\ projectOrSolutionFileName

Обратите внимание, что имя выходного каталога должно заканчиваться обратным слешем

4
ответ дан 7 December 2019 в 12:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: