Skip to content

Include .mobile.props for DTB (fix for VS Code)#24801

Merged
rolfbjarne merged 2 commits intomainfrom
dev/noiseonwires/dtb-mobileprops
Mar 2, 2026
Merged

Include .mobile.props for DTB (fix for VS Code)#24801
rolfbjarne merged 2 commits intomainfrom
dev/noiseonwires/dtb-mobileprops

Conversation

@noiseonwires
Copy link
Copy Markdown
Contributor

This PR makes a change to improve the Hot Reload experience for .NET MAUI iOS device builds in VS Code:

In VS Code, design-time builds did not receive the correct RuntimeIdentifier for iOS device targets — they defaulted to iossimulator-x64. This caused Roslyn to resolve the wrong baseline assemblies, that broke Hot Reload. The .mobile.props mechanism (already used by VS on Windows) solves this.

As discussed with Mauro and Tomas, the better solution is not to introduce a new parameter, but add "DesignTimeBuild" as one of the triggers for the condition. This is safe for both VS and VS Code and should not cause any side effects.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@noiseonwires noiseonwires force-pushed the dev/noiseonwires/dtb-mobileprops branch from 62e83f9 to 625dd60 Compare February 28, 2026 10:29
@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [CI Build #625dd60] Build passed (Build packages) ✅

Pipeline on Agent
Hash: 625dd60fd427ffa9f7dfbac16195705c830971df [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [PR Build #625dd60] Build passed (Detect API changes) ✅

Pipeline on Agent
Hash: 625dd60fd427ffa9f7dfbac16195705c830971df [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [CI Build #625dd60] Build passed (Build macOS tests) ✅

Pipeline on Agent
Hash: 625dd60fd427ffa9f7dfbac16195705c830971df [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 625dd60fd427ffa9f7dfbac16195705c830971df [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@rolfbjarne rolfbjarne enabled auto-merge (squash) March 2, 2026 08:26
@rolfbjarne rolfbjarne self-assigned this Mar 2, 2026
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

🚀 [CI Build #625dd60] Test results 🚀

Test results

✅ All tests passed on VSTS: test results.

🎉 All 156 tests passed 🎉

Tests counts

✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 5 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 6 tests passed. Html Report (VSDrops) Download
✅ linker: All 44 tests passed. Html Report (VSDrops) Download
✅ monotouch (iOS): All 11 tests passed. [attempt 4] Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 15 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 12 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 11 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ windows: All 3 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

✅ Tests on macOS Monterey (12): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Ventura (13): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Tahoe (26): All 5 tests passed. [attempt 2] Html Report (VSDrops) Download

Pipeline on Agent
Hash: 625dd60fd427ffa9f7dfbac16195705c830971df [PR build]

@rolfbjarne rolfbjarne merged commit 706d646 into main Mar 2, 2026
48 checks passed
rolfbjarne added a commit that referenced this pull request Mar 2, 2026
…24804)

This PR makes a change to improve the Hot Reload experience for .NET
MAUI iOS device builds in VS Code:

In VS Code, design-time builds did not receive the correct
RuntimeIdentifier for iOS device targets — they defaulted to
iossimulator-x64. This caused Roslyn to resolve the wrong baseline
assemblies, that broke Hot Reload. The .mobile.props mechanism (already
used by VS on Windows) solves this.

As discussed with Mauro and Tomas, the better solution is not to
introduce a new parameter, but add "DesignTimeBuild" as one of the
triggers for the condition. This is safe for both VS and VS Code and
should not cause any side effects.

---------

Co-authored-by: Kirill Ovchinnikov <kovchinnikov@microsoft.com>

Backport of #24801.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants