# ะก# Microsoft(.NET) This configuration is suitable if the project is built using Maven and runs on .NET. In this case, the project can be written in languages such as C#, F# and all supported languages for .NET. You can write a yaml file yourself using the instructions below, or use our yaml generator by clicking on [link](https://manifest.amverum.ru/), or fill it out in the "Configuration" section of your personal account. ## Meta section The `meta` section of the `amverum.yml` file will look like this: ``` yaml meta: environment: csharp toolchain: name: dotnet version: 8.0 ``` The only parameter that can be changed here is `meta.toolchain.version`. Logically, this is the version of .NET that should be used for the build. Technically, the value of `version` is substituted into the name of the Docker image that will be used. For the build and run phase, this is `mcr.microsoft.com/dotnet/sdk:${meta.toolchain.version}`. The valid values can be seen on the [docker hub](https://hub.docker.com/) page. ```{eval-rst} .. admonition:: Important :class: warning The `meta.toolchain.version` value must be valid for both the build and run phases. The best way is to simply use the LTS version number of .NET. ``` ## Build section The following parameters can be specified in the `build` section: - `image` - `args` - `artifacts` The `image` parameter allows you to use a different build image than the one provided by Amverum. The image must meet the following requirements: - source code for the build is expected in the /app folder (or image, no matter where the source code is located); ## Section run The following parameters can be used in the `run` section: - `image` - `buildFileName` - `persistenceMount` - `containerPort` The `image` parameter allows you to use a different build image than the one provided by Amverum. The image must meet the following requirements: - the build result is expected in the /app folder (or image, it doesn't matter where the build result is located); The `buildFileName` parameter is the name of your project. If you don't know where to get the buildFileName parameter. Enter the following command on your computer in the project folder: `dotnet build`. You will get a folder `bin/Debug/net*.0/${buildFileName}`. You need to take the file name `.exe` without the extension. An example can be found in the minimal amverum.yml file The `persistenceMount` parameter allows you to specify in which directory the folder with [persistent storage](../storage.md#data) will be mounted. The default value is `/data`. The `containerPort` parameter allows you to specify which port the application listens on. The default value is `80`. ## Recipes ### Minimal amverum.yml file ``` yaml meta: environment: csharp toolchain: name: dotnet version: 8.0 run: buildFileName: bin/WebApplication ``` > **Important:** The buildFileName field must be in the format bin/file_name, or bin/publish/file_name if you are doing it via publishing.