Создайте один веб-проект из решения с несколькими веб-проектами в Visual Studio Online Build Definition.

Я столкнулся с проблемой, когда мне нужно создать только один веб-проект из решения с двумя веб-проектами в Visual Studio Online.

  • Я не нашел, как построить только один проект с помощью шага сборки Visual Studio.

Было бы здорово, если бы существовал такой способ сделать это с помощью шага Visual Studio Build.

  • Я также пытался использовать шаг MSBuild. К сожалению, у меня возникла проблема при восстановлении пакетов с помощью Nuget. Я получил сообщение об ошибке: ##[ошибка]Заголовок формата файла не найден, ##[ошибка]Неожиданный код выхода 1 возвращен из инструмента NuGet.exe. Сразу после запуска: Nuget.exe восстановите Myproj.csproj.

Резюмируя:

Как я могу создать только один веб-проект из решения с несколькими веб-проектами в определении онлайн-сборки Visual Studio?

Обновлять

Вот изображение ошибки, когда я строю. Также я получаю это с помощью шага Visual Studio Build или шага MSBuild.

введите здесь описание изображения

Также

Я нашел комментарий от chrisrpatterson в выпуске VSO: https://github.com/Microsoft/vso-agent-tasks/issues/571

Что он говорит: Вы не можете запустить nuget restore для чего-либо, кроме файла SLN. Вы должны снять флажок с восстановления пакетов nuget в этой задаче vsbuild.

Но мне нужны пакеты, и я не хочу помещать папку с пакетами в свой репозиторий.

Итак, как я могу восстановить пакеты и запустить только один веб-проект из моего решения на этапе сборки Visual Studio?


person Rafael Miceli    schedule 05.10.2015    source источник
comment
щелкните правой кнопкой мыши проект и выберите «Сборка» в контекстном меню.   -  person snow_FFFFFF    schedule 06.10.2015


Ответы (3)


Вместо выбора файла .sln вам нужно выбрать файл .proj.

Сначала нажмите кнопку с многоточием рядом с полем «Решение». введите описание изображения здесь

Затем выберите файл .proj, который вы хотите создать. Например, на приведенном ниже снимке экрана показано, что определение сборки настроено для сборки проекта ClassLibrary1, а не всего решения (содержит проекты ClassLibrary1 и ClassLibrary4)введите здесь описание изображения

person Vicky - MSFT    schedule 06.10.2015
comment
Вики, я выбрал проект, но получил ту же ошибку, что и на шаге MSBuild, а именно: При восстановлении пакетов с помощью Nuget. Я получил сообщение об ошибке: ##[ошибка]Заголовок формата файла не найден, ##[ошибка]Неожиданный код выхода 1 возвращен из инструмента NuGet.exe. Сразу после запуска: Nuget.exe восстанавливает Myproj.csproj. - person Rafael Miceli; 06.10.2015
comment
как бы вы восстановили пакеты nuget только из одного проекта? - person TWilly; 24.05.2016
comment
В текущей версии есть новое поле, в котором вы также можете указать путь к конфигурации nuget. - person Bertus van Zyl; 11.04.2017
comment
Спасибо. Такое простое решение сложной проблемы. Вы сэкономили мне несколько часов - person Mandeep Janjua; 10.08.2017
comment
@TWilly Для восстановления пакетов nuget у вас будет отдельная задача, которая будет ссылаться на ваш файл решения (*.sln) - person Mandeep Janjua; 10.08.2017

Вы можете добавить новую задачу «Развертывание службы приложений Azure» в определение сборки и задать для поля «Пакет или папка» значение «$(build.artifactstagingdirectory)**\YOURPROJECT.zip».

person Guilherme    schedule 12.10.2017

Возможно, вы захотите создать решение только с веб-проектом, который хотите создать.

В Visual Studio вы можете создать новый проект и в этом диалоговом окне выбрать "другие типы проектов\решение".

Новое решение может располагаться рядом с существующим.

person MrHinsh - Martin Hinshelwood    schedule 08.10.2015