svc, xml не развертываются - PullRequest
0 голосов
/ 01 августа 2011

У меня проблема с публикацией службы WCF от CI (Cruise Control) ..

Допустим, у меня есть проект WCF под названием "WCF-A". Я помещаю следующие строки в csproj "WCF-A"

<Target Name="BeforeBuild">
    <Message Text="##############Before build##################" Importance="high" />
    <RemoveDir Directories="publish" ContinueOnError="true" />
  </Target>
  <Target Name="AfterBuild">
    <Message Text="##############After build##################$(OutputFolder)" Importance="high" />
    <MSBuild Projects="$(ProjectName).csproj" Targets="ResolveReferences;_CopyWebApplication" Properties="WebProjectOutputDir=publish\;OutDir=publish\bin\" />
</Target>

Я использую следующее для построения моего сервиса из командной строки. (Обратите внимание, что мы используем CI, но для упрощения моего вопроса я буду использовать командную строку.)

E:\..\Code\>msbuild MyServices.sln /t:Clean;Rebuild

Работает отлично, и все сборки, междоменные файлы xml, svc публикуются в папке "publish".

Проблема возникает, когда я добавляю в файл решения другие службы (назовем их «WCF-B»). [Редактировать] Я добавил те же «BeforeBuild» и «AfterBuild» в WCF-B. [/ Edit] Я ссылаюсь на проект WCF-A из "WCF-B" ... но когда я строю решение с помощью той же команды, что и я, публикация для "WCF-B" работает хорошо. Но междоменный файл и файл svc "WCF-A" больше не развертываются. Только сборка "WCF-A" публикуется в папке "publish \ bin".

Ребята, вы понимаете, почему так происходит? Заранее спасибо.

Редактировать

Я думаю, что наличие "project-reference" создает эту проблему .. Но мне нужно использовать project-reference вместо вызова службы из прокси-класса. Поскольку обе службы будут размещаться на одном и том же сервере, я предпочитаю dll-reference, а не service-call.

1 Ответ

0 голосов
/ 01 августа 2011

Похоже, что файлы WCF-A удаляются целью BeforeBuild WCF-B (при условии, что каталог publish разрешается в тот же каталог) и что сборка WCF- Невозможно удалить A, так как на него ссылается WCF-B и он используется.

Вы можете попытаться увеличить детализацию журнала, используя /v:d или даже /v:diag для получения дополнительной информации.

E:\..\Code\>msbuild MyServices.sln /t:Clean;Rebuild /v:d
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...