Разница между MSBuild с DeployOnBuild и Visual Studio Publish - PullRequest
0 голосов
/ 20 февраля 2012

У меня есть проект WCF, который, если я использую опцию «Опубликовать» в Visual Studio, публикуется нормально.

Но если я использую параметр MSBuild DeployOnBuild, он не будет опубликован правильно. Я получаю сообщение об ошибке «Не удалось загрузить тип», и все библиотеки находятся там.

Я использую MSBuild в определении сборки, чтобы получить сборку с непрерывной интеграцией.

Я использую следующие параметры сборки:

/p:DeployOnBuild=true 
/p:DeployTarget=MSDeployPublish 
/p:MSDeployPublishMethod=RemoteAgent 
/p:MsDeployServiceUrl=http://host/msdeployagentservice 
/p:username=##### 
/p:password=****

Моя основная проблема в этом сценарии заключается в том, что цели сборки совпадают, а определение сборки фактически публикует файлы, но почему-то они не совпадают.

Есть идеи ???

1 Ответ

1 голос
/ 21 февраля 2012

Мне не нравится отвечать на мои вопросы, но поскольку это может помочь кому-то еще, причина проблемы.

  1. В одном из проектов была команда пост-сборки для копирования результирующего DLL в другой каталог конкретного проекта (это не ссылка потому что он использует внедрение зависимостей во время выполнения).
  2. DLL не были зарегистрированы в TFS, потому что они не оформляются автоматически
  3. Непрерывная интеграция Сборка извлекает источники из TFS, а библиотеки не синхронизированы

Решение состояло в том, чтобы проверить dll перед сборкой, чтобы проверка обновила их

...