XamariniOS@2 is retired: migrate off its platform or external tool
The short answer
- Retirement date
- Removal date
- . Pipelines that still use it fail after removal.
- Replacement
- Closest task:
DotNetCoreCLI@2(after the migration described below). - Kind of migration
- retired platform or external tool: no drop-in replacement
- Automatic rewrite
- No. This task needs a manual migration. trasloco modernize --check still finds the step.
- Recommended action
- Migrate the project to SDK-style .NET or .NET MAUI before using DotNetCoreCLI@2.
Official sources
- Official task retirement announcement
- Task definition: XamariniOSV2 (task.json)
- Task definition: DotNetCoreCLIV2 (task.json)
Last verified:
Why does my pipeline show a retirement error for XamariniOS@2?
On , Azure Pipelines shows a retirement error for XamariniOS@2, but the run does not fail. On , pipelines that still use XamariniOS@2 fail.
Find it in your pipelines
With trasloco:
trasloco modernize --check
Install trasloco from the latest release.
With plain grep, nothing to install:
grep -rniwF 'XamariniOS@2' --include='*.yml' --include='*.yaml' .
How to migrate
Migrate the project to SDK-style .NET or .NET MAUI before using DotNetCoreCLI@2.
The task definition of the replacement is linked under official sources above.
XamariniOS@2 retirement FAQ
Is XamariniOS@2 deprecated?
Yes. XamariniOS@2 is retired on 2026-10-15. Azure Pipelines shows a retirement error, but the run does not fail until removal.
When does XamariniOS@2 stop working?
XamariniOS@2 is removed on 2027-03-15. Pipelines that still use it fail after removal.
What should I use instead of XamariniOS@2?
DotNetCoreCLI@2 is the closest task, after the platform or tool migration described on this page.
Related retired tasks
- AppCenterDistribute@0 — retired platform or external tool: no drop-in replacement
- AppCenterDistribute@1 — retired platform or external tool: no drop-in replacement
- AppCenterDistribute@2 — retired platform or external tool: no drop-in replacement
- AutomatedAnalysis@0 — retired platform or external tool: no drop-in replacement
- AzureCloudPowerShellDeployment@1 — retired platform or external tool: no drop-in replacement
- DotNetCoreCLI@0 — replacement with input changes
- DotNetCoreCLI@1 — replacement with input changes
- XamarinAndroid@1 — retired platform or external tool: no drop-in replacement
- XamarinComponentRestore@0 — retired platform or external tool: no drop-in replacement
- XamariniOS@1 — retired platform or external tool: no drop-in replacement