TeamCity
Powerful CI/CD for DevOps-centric teams
Changing .NET properties
As we promised, we continue the configuration parameters story started in the previous post. Today, I’d like to tell you about .NET related properties.
TeamCity .NET plugins provide a bunch of predefined properties indicating that .NET Framework/SDK/Visual Studio/Mono are detected on build agent. Previously you could refer to these properties as to system properties. Now we’ve changed it.
We decided to turn all these properties into configuration parameters, and therefore we’ve converted all refernces to such properties detected in TeamCity to keep builds running. However, it’s not possible to convert references used from a build script. To workaroud the issue you can add system property in build agent configuration or use compatibility mode switch in TeamCity properties:
teamcity.dotnet.properties.compatibility.mode
with valuetrue
dotNetPropertiesCompatibilityMode
configuration parameter with valuetrue
in a build configuration settings.
Here is the list of changed parameters:
Before | Now |
system.DotNetFrameworkX.Y |
DotNetFrameworkX.Y_x86 |
system.DotNetFrameworkX.Y_Path |
DotNetFrameworkX.Y_x86_Path |
system.DotNetFrameworkX.Y_xZZ |
DotNetFrameworkX.Y_xZZ |
system.DotNetFrameworkX.Y_xZZ_Path |
DotNetFrameworkX.Y_xZZ_Path |
system.DotNetFrameworkSDKX.Y |
DotNetFrameworkSDKX.Y_x86 |
system.VS200X |
VS200X |
system.Mono |
Mono |
system.MonoVersion |
MonoVersion |
system.WindowsSDKX.Y |
WindowsSDKX.Y |
Note, there will no longer reported .NET Framework configuration parameters without explicit bitness (i.e. x86 or x64).