# TeamCity C# API для сборки приложений

DevFeed: [TeamCity C# API для сборки приложений](<https://devfeed.tech/articles/teamcity-c-api-23952.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/651247/>)

Author: NikolayPyanikov (JetBrains)

Published: 2022-02-15T09:21:35Z

Content type: tutorial

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [teamcity](<https://devfeed.tech/topics/teamcity.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [.NET](<https://devfeed.tech/topics/net.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [DevOps](<https://devfeed.tech/topics/devops.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [build](<https://devfeed.tech/tags/build.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [cli](<https://devfeed.tech/tags/cli.md>), [core](<https://devfeed.tech/tags/core.md>), [devops](<https://devfeed.tech/tags/devops.md>), [docker](<https://devfeed.tech/tags/docker.md>), [net](<https://devfeed.tech/tags/net.md>), [script](<https://devfeed.tech/tags/script.md>), [teamcity](<https://devfeed.tech/tags/teamcity.md>)

## AI overview

This article presents the TeamCity C# scripting API for automating application builds. It describes integration with the .NET CLI, including process execution and detailed build, warning, error, and test information, as well as running processes in Docker containers and using ASP.NET Core-style composition and dependency injection. It also introduces packages for running, debugging, testing, and templating C# build scripts.

## Source excerpt

Начиная с первых версий .NET Core для сборки приложений, компания Microsoft предоставляет простой и удобный интерфейс командной строки (.NET CLI). Его возможности покрывают большинство потребностей по сборке, упаковке и тестированию приложений. Несмотря на это, по мере роста приложения, увеличения количества его составных частей/сборок/пакетов, усложнения процессов тестирования и развертывания, рядом с проектом часто появляются такие файлы сценариев как build.ps1, build.sh, build.cmd или даже полноценные инфраструктуры автоматизации построения приложений. В статье TeamCity C# script runner была предложена еще одна альтернатива - сценарии C#, которые особенно полезны, когда необходимо эффективно автоматизировать какой либо аспект сборки силами .NET разработчиков или DevOps, знакомыми с синтаксисом C#. Тогда же была упомянута идея расширить встроенный API сценариев для более глубокой интеграции с TeamCity и для поддержки наиболее частых вариантов использования. Предполагая, что API сценариев чаще всего будет задействован при сборке приложений, мы в первую очередь решили расширить именно его. В этой статье будут приведены примеры использования этого API. Читать далее