Решение VS.NET построено по-другому на сервере сборки - PullRequest
0 голосов
/ 21 апреля 2010

У меня есть решение VS.NET с двумя Projects, ProjectWeb и ProjectLibrary. PW зависит от PL, поэтому у меня есть VS.NET проект ссылка на PL в PW.

Это хорошо работает на моем компьютере разработчика, но когда все это попадает на сервер сборки, у меня есть два разных проекта сборки, один для PL и один для PW. Я хотел бы собрать PL и скопировать куда-нибудь двоичные файлы. Затем я хотел бы собрать PW и только его, используя двоичные файлы из предыдущей сборки PL.

Но сработает ли это, поскольку проект PW VS.NET ссылается на проект, который не существует, когда я собираю PW только на сервере сборки?

Как мне это настроить

В частности, я использую CC.NET и NAnt, но у меня есть другие проекты, в которых используется Hudson и прямая сборка MS

1 Ответ

1 голос
/ 22 апреля 2010

один из подходов, который я использовал в прошлом, - это создание события postBuild в проекте PL, которое копирует вашу dll в LocationX ( что-то , например)

XCOPY $(TargetFileName) LocationX /R /Y

(/ R / Y необходим для принудительной перезаписи файла, что обычно требуется, если dll хранится в системе контроля версий и доступен только для чтения ... в противном случае это не нужно).

Тогда в PW не используйте ссылку на проект, вместо этого ссылайтесь на dll в LocationX. Тогда все будет работать на вашей машине и на сборочной коробке.

Вы все еще можете включить PL в свое решение, поэтому отладка должна работать нормально.

Обратите внимание, что использование события PostBuild - это немного «старый» способ сделать это, лучше создать цель AfterBuild MsBuild, которая выполняет работу xcopy. Результат тот же.

...