Предварительная сборка Visual Studio 2010 для компиляции и развертывания решения

Мне нужно установить событие предварительной сборки в Visual Studio, которое будет создавать и развертывать решение. отдельное решение находится в каталоге ниже текущего каталога решения, в котором я работаю. Имеет ли это смысл?

           top level dir
          /          \
         /            \
        /              \
 |------------|    |-----------------|
 | mySLn.sln  |    |prebuild sln dir |
 |------------|    |-----------------|
                          \
                           \
                            \
                   |-----------------|
                   |  prebuild.sln   |
                   |-----------------|

проблема в том, что у нас несколько разработчиков, поэтому использовать абсолютный путь для решения не получится. нам придется вручную обновить путь для каждого сервера разработки. Могут ли разработчики иметь событие предварительной сборки для сборки и развертывания prebuild.sln из Visual Studio 2010 с относительным путем? все, что я вижу в Интернете, - это полный путь к: devenv / build devenv / deploy

есть ли переменная, которую я могу получить для полного пути, в котором находится текущее решение, и добавить мой подкаталог и решение к команде devenv для полного пути?


person Anthony    schedule 15.06.2011    source источник


Ответы (2)


У вас есть два варианта:

Первый - исправить структуру решений и добавить ссылки на проекты в mySln.sln. (Для этого вам нужно будет добавить подпроекты в решение, а затем добавить ссылки на проекты. Затем вы можете удалить подпроекты из mySln.sln, если хотите.)

Второй вариант - собрать проекты в готовом решении. Затем вы настраиваете ссылочные пути в проектах, где вам нужно ссылаться на предварительные -построить вывод, а затем добавить ссылки на библиотеки DLL. Visual studio сохранит пути к dll в файлах * .csproj.user. Затем, каждый раз, когда разработчик извлекает новую версию mySln.sln, ему нужно будет пройти и настроить пути ссылок в проектах, но им не потребуется самостоятельно настраивать ссылки. Ваше предварительное решение может быть размещено где угодно или действительно может быть построено на сервере CI, а выходные данные будут загружены по мере необходимости.

person Steve    schedule 15.06.2011

Этот макрос доступен в командной строке Build Event:

$ (SolutionDir)

person Alex F    schedule 15.06.2011
comment
Devenv $ (SolutionDir) Common \ Common.sln / Build Release с выходом с кодом 9009 - person Anthony; 15.06.2011