Определение сборки TF с публикацией целевых и выполнением модульных тестов
Я создал определение сборки, используя TF Build. Это ночная сборка для нашего проекта. Он должен выполнить определенные модульные тесты и должен упаковать проекты облачной службы Azure.
Эта сборка работала некоторое время без этапа упаковки. Это привело к успешной сборке, которая также запускала юнит-тесты.
На основе следующего руководства я добавил упаковку облачных сервисов:https://azure.microsoft.com/en-us/documentation/articles/cloud-services-dotnet-continuous-delivery/, В основном все сводится к установке цели для публикации для msbuild (/ target: Publish) в определении сборки.
Проблема в том, что когда решение строится с целью публикации, проекты модульного теста не создаются. MSBuild вернется со следующим сообщением:Skipping unpublishable project
, Я проследил это до общего целевого файла MSBuild. Проект будет создаваться только тогда, когда публикация является результатом проекта, как можно увидеть здесь:http://referencesource.microsoft.com/#MSBuildFiles/C/ProgramFiles(x86)/MSBuild/14.0/bin_/amd64/Microsoft.Common.CurrentVersion.targets,217
Что я пробовал:
Принудительное создание проектов модульного тестирования в сборках Publish. Я добавил следующую msbuild в csproj-файлы Unit Test, чтобы переопределить цель по умолчанию при публикации:<PropertyGroup> <PublishDependsOn> Build; </PublishDependsOn> </PropertyGroup>Установка типа вывода проекта Unit Test для Консольного приложения
В обоих случаях MSBuild выдастThe specified project reference metadata for the reference "..\..csproj" is missing or has an invalid value: Project
для всех проектов, на которые ссылается проект модульного тестирования.
Я чувствую, что я не на правильном пути. Есть ли способ, как я могу создавать проекты модульного тестирования, а также создавать и публиковать проекты облачной службы?