Skip to content

Installing VS2026 side by side with VS2022 breaks VS2022 iOS MAUI NET9 Development Environment #51796

@mobilewares

Description

@mobilewares

Description

After installing VS2026 side by side with VS2022 - it's no longer possible to run iOS NET9 MAUI apps on Mac via VS2022 as the Pair to MAC installs NET10 maui workloads/tooling and then will only work if XCode 26 is installed (and matching MacOS _version).

Note: I am not clear if updating Mac to XCode26 and MAUI project to use NET10 fixes this - assume it would, but we definitely do not want to be using NET10 for this current project so that's not an option.

Steps to Reproduce

Repro Steps :

1. Start with working MAUI iOS Development environment :
a) VS2022 installed on Windows (17.14.20)
b) Mac OS with XCode 16.4
c) MAUI Project using MAUI NET9
d) Working Remote Simulator to Mac OS machine allowing running/debugging iOS version of App.

2. Install VS2026 with Mobile Development Workloads (hence NET10 framework installed too) (18.0.0 stable)

3. After installation, when running VS2022 with same MAUI NET9 project the following happens :

a) When Pairing to the MAC under VS2022, it remotely installs the MAUI NET10 components and tooling instead of MAUI NET9 versions despite loaded project targetting NET9 MAUI / net9-ios workloads.

b) Attempting to run iOS NET9 MAUI App via remote simulator fails and VS2022 compile output reports error This version of .NET for iOS (26.0.9766) requires Xcode 26.0. The current version of Xcode is 16.4. Either install Xcode 26.0, or use a different version of .NET for iOS.

  1. Other symptoms observed too at this point :

a) Project folder reports that NET10 workloads are installed and not the NET9 workloads (via dotnet workloads list command).

b) It's impossible to downgrade the MAUI workloads or manually install workloads in that project folder to NET9 - either install is failing and rolling back. Error message in command window is
Workload installation failed: Workload pack 'Microsoft.NET.Runtime.Emscripten.Node.net9' in manifest 'microsoft.net.workload.emscripten.net9' [C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.workload.emscripten.net9\10.0.100\WorkloadManifest.json] conflicts with manifest 'microsoft.net.workload.emscripten.current' [C:\Program Files\dotnet\sdk-manifests\9.0.100\microsoft.net.workload.emscripten.current\9.0.0\WorkloadManifest.json]

c) After pairing, available iOS Simulators list is not showing a bunch of the the simulators anymore - for example no iPhone devices above iPhone14 are coming up.

Expected behaviour :

  • VS2026 and VS2022 should work side by side for iOS MAUI development
  • The Pairing process on VS between VS and Mac should install the MAUI NET version components/tooling specific to that VS version (ie. VS2022 should install MAUI NET9 and VS2026 should install MAUI NET10).
  • (Nice to have) VS2026 also support NET9 MAUI iOS - but not sure if that's possible. VS2026 however appears to still allow running MAUI NET9 Android Apps so this indicates this scenario should be possible too (if VS2026 Pairing installs components based on project MAUI NET version in use).
  • The list of Simulators available to the specific XCode version should not be hiding valid simulator devices.

** Current Workaround **

  • Completely remove VS2026 (and hence NET10) from Windows PC. After that VS2022 Mac Pairing installs NET9 MAUI Components as per before. However - list of available simulators is still broken/missing - not clear how to fix that up.

Link to public reproduction project repository

No response

Version with bug

9.0.110 SR12

Is this a regression from previous behavior?

No, this is something new

Last version that worked well

Unknown/Other

Affected platforms

iOS

Affected platform versions

VS2022 with iOS NET9 SR12 / Mac with XCode 16.4

Did you find any workaround?

As per other comments - completely uninstalling VS2026 was the only way to restore ability to debug iOS NET9 MAUI App again (however some iOS simulators are now missing from the list).

Relevant log output

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions