2012-02-20 2 views
0

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

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

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

Параметры сборки я использую являются:

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

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

Любые идеи ???

+0

В чем разница? –

+0

Я действительно выяснил проблему. Процесс сборки скопировал несколько dlls в папку проектов. Но поскольку файлы, которые не были проверены на TFS, они не были опубликованы в чеке. И поскольку сборка непрерывной интеграции идет только в хранилище TFS, файлы, которые не синхронизируются. –

+0

ОК хорошо, что, безусловно, «По дизайну», рад, что у вас это работает :) –

ответ

1

Я не хочу отвечать на мой вопрос, но так как это может помочь кому-то другому стать причиной проблемы.

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

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

Смежные вопросы