kotlin-dsl/DotnetDevenv.xml (112 lines of code) (raw):
<?xml version="1.0" encoding="UTF-8"?>
<dsl-extension kind="buildStep" type="dotnet" generateDslJar="true" applicable="params['command'] == 'devenv'">
<class name="DevenvBuildStep">
<description>
A [Visual Studio IDE step](https://github.com/JetBrains/teamcity-dotnet-plugin) to run Visual Studio IDE command
</description>
</class>
<function name="dotnetDevenv">
<description>
Adds a [Visual Studio IDE step](https://github.com/JetBrains/teamcity-dotnet-plugin) to run Visual Studio IDE command
@see DevenvBuildStep
</description>
</function>
<init>
<param name="command" value="devenv"/>
</init>
<params>
<param name="paths" dslName="projects">
<description>Specify paths to projects and solutions. Wildcards are supported.</description>
</param>
<param name="teamcity.build.workingDir" dslName="workingDir" yamlName="working-directory">
<description>
[Build working directory](https://www.jetbrains.com/help/teamcity/?Build+Working+Directory) for
script,
specify it if it is different from the [checkout
directory](https://www.jetbrains.com/help/teamcity/?Build+Checkout+Directory).
</description>
</param>
<param name="vs.version" dslName="version" type="VSVersion">
<description>
Visual Studio version to use
@see VSVersion
</description>
</param>
<param name="vs.action" dslName="action" type="VSAction" mandatory="true">
<description>
Visual Studio IDE command to execute
@see VSAction
</description>
</param>
<param name="configuration">
<description>Specifies the project configuration to build or deploy.</description>
</param>
<param name="args">
<description>Enter additional command line parameters for .NET VisualStudio.</description>
</param>
<param name="required.sdk" dslName="sdk">
<description>.NET SDK versions separated by semicolon to be required on agents.</description>
</param>
</params>
<types>
<enum name="VSVersion">
<description>Visual Studio version</description>
<option name="Any" value="VisualStudio_Windows">
<description>Latest installed Visual Studio</description>
</option>
<option name="V18" value="VisualStudio_18_Windows">
<description>Visual Studio 2026</description>
</option>
<option name="V17" value="VisualStudio_17_Windows">
<description>Visual Studio 2022</description>
</option>
<option name="V16" value="VisualStudio_16_Windows">
<description>Visual Studio 2019</description>
</option>
<option name="V15" value="VisualStudio_15_Windows">
<description>Visual Studio 2017</description>
</option>
<option name="V14" value="VisualStudio_14_Windows">
<description>Visual Studio 2015</description>
</option>
<option name="V12" value="VisualStudio_12_Windows">
<description>Visual Studio 2013</description>
</option>
<option name="V11" value="VisualStudio_11_Windows">
<description>Visual Studio 2012</description>
</option>
<option name="V10" value="VisualStudio_10_Windows">
<description>Visual Studio 2010</description>
</option>
</enum>
<enum name="VSAction">
<description>Build action</description>
<option name="Clean" value="clean">
<description>Deletes any files created by the build command, without affecting source files</description>
</option>
<option name="Rebuild" value="rebuild">
<description>Cleans and then builds the specified solution or project according to the configuration of the specified solution</description>
</option>
<option name="Build" value="build">
<description>Builds the specified solution or project according to the configuration of the specified solution</description>
</option>
<option name="Deploy" value="deploy">
<description>Builds the solution, along with files necessary for deployment, according to the solution's configuration</description>
</option>
</enum>
</types>
<examples>
<example>
<description>
Runs [`devenv.exe`](https://learn.microsoft.com/en-us/visualstudio/ide/reference/devenv-command-line-switches) command for all solution files in the build checkout directory.
</description>
<code>
dotnetDevenv {
projects = "*.sln"
version = DevenvBuildStep.VSVersion.Any
action = DevenvBuildStep.VSAction.Clean
}
</code>
</example>
</examples>
</dsl-extension>