Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
В этой статье описывается, как создать проект платформа .NET Framework с помощью Azure Pipelines. Это руководство предназначено для пользователей Azure DevOps, которые создают и развертывают ASP.NET приложения с помощью .NET Framework. Сведения о проектах .NET Core см. в разделе "Сборка, тестирование и развертывание приложений .NET Core".
Предпосылки
| Продукт | Требования |
|---|---|
| Azure DevOps | — проект Azure DevOps. — способность запуска потоков на хостинговых агентах Microsoft. Вы можете приобрести параллельное задание или запросить бесплатный уровень. — Базовые знания о YAML и Azure Pipelines. Дополнительные сведения см. в статье "Создание первого конвейера". - Разрешения: — Чтобы создать конвейер: необходимо быть в группе Участников, и у группы должно быть разрешение создать конвейер сборки установлено на "Разрешить". Члены группы "Администраторы проектов" могут управлять конвейерами. — Для создания подключений к службе необходимо иметь роль администратора или создателяподключений к службе. |
| Платформа .NET Framework | — Проект .NET Framework (рекомендуемая версия 4.5 или более поздняя). — Опыт работы с Visual Studio или другой средой разработки .NET. — соответствующий пакет SDK для .NET Framework , установленный на локальном компьютере. |
| GitHub | — учетная запись GitHub. - Подключение службы GitHub для авторизации Azure Pipelines. |
Создание проекта Azure DevOps
- В организации или коллекции Azure DevOps выберите "Создать проект " или "Создать проект".
- Заполните поле Имя проекта.
- Выберите видимость проекта.
- Нажмите кнопку создания.
Получение примера приложения
Если у вас нет существующего проекта ASP.NET, следуйте инструкциям по созданию веб-приложения ASP.NET версии 4.8.
Создание и сборка конвейера
После добавления примера кода в собственный репозиторий создайте конвейер в проекте Azure DevOps. Дополнительные сведения см. в статье "Создание первого конвейера".
Выберите шаблон ASP.NET. Этот выбор автоматически добавляет файл azure-pipelines.yml с задачами, необходимыми для сборки кода в пример репозитория. Шаблон включает задачу VSTest@3 для выполнения тестов. Пример репозитория не содержит тестов, поэтому можно удалить задачу VSTest@3 из конвейера.
Конвейер должен выглядеть следующим образом:
# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4
trigger:
- main
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4
trigger:
- main
pool:
name: default
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
Нажмите кнопку "Сохранить и запустить" и выберите "Задания", чтобы увидеть конвейер в действии.
Чтобы опубликовать артефакты сборки, добавьте следующую задачу в конец файла YAML:
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)'
artifact: 'myartifact'
publishLocation: 'pipeline'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop
Среда сборки
Azure Pipelines можно использовать для создания проектов .NET Framework без настройки инфраструктуры. Размещенные корпорацией Майкрософт агенты в Azure Pipelines включают несколько выпущенных версий Visual Studio для создания проектов. Используйте windows-2025 для Windows Server 2025 с Visual Studio 2022.
Для запуска сборок можно также использовать локальный агент . Использование локального агента полезно, если у вас есть большой репозиторий, и вы хотите избежать скачивания исходного кода на свежий компьютер для каждой сборки.
Сборки выполняются на локальном агенте. Убедитесь, что на агенте установлена необходимая версия Visual Studio.
Создание нескольких конфигураций
Возможно, потребуется создать приложение в нескольких конфигурациях. В следующих шагах показано, как создать пример приложения на четырех конфигурациях: Debug, x86, , Debug, x64Release, x86и Release, x64.
В пользовательском интерфейсе конвейера выберите вкладку "Переменные" и измените следующие переменные:
BuildConfiguration=debug, releaseBuildPlatform=x86, x64
Выберите "Задачи ", а затем выберите задание агента, чтобы изменить следующие параметры задания:
- Выберите многофакторную конфигурацию.
- Укажите умножения:
BuildConfiguration, BuildPlatform
Выберите Parallel , если у вас несколько агентов сборки и хотите параллельно создавать конфигурацию и пары платформ.
Восстановить зависимости
Используйте задачу NuGet для установки и обновления зависимостей пакета NuGet. Вы также можете использовать задачу NuGet для скачивания пакетов NuGet из Azure Artifacts, NuGet.org или других внешних или внутренних репозиториев NuGet.
В следующем примере решение восстанавливается из веб-канала с областью проекта в той же организации.
- task: NuGetCommand@2
inputs:
command: 'restore'
feedsToUse: 'select'
vstsFeed: 'my-project/my-project-scoped-feed'
includeNuGetOrg: false
restoreSolution: '**/*.sln'
Заметка
Если вы используете Ubuntu 24.04 или более поздней версии, необходимо использовать задачу NuGetAuthenticate с .NET CLI вместо задачи NuGetCommand@2. Дополнительные сведения см. в разделе о поддержке новых размещенных образов Ubuntu.