You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -12,11 +12,11 @@ The Uno Platform **Hot Reload** feature provides a way to modify the XAML and C#
12
12
13
13
## Features
14
14
15
-
- Supported in **Visual Studio 2022** (Windows), **VS Code** (Linux, macOS, Windows, CodeSpaces, and GitPod) and **Rider** (Linux, macOS, Windows)
16
-
- XAML and [C# Markup](xref:Uno.Extensions.Markup.Overview) Hot Reload for **iOS, Catalyst, Android, WebAssembly, and Skia (X11, Windows, macOS and FrameBuffer)**
17
-
- All **[C# of Hot Reload](https://learn.microsoft.com/visualstudio/debugger/hot-reload)** in both Visual Studio and VS Code. See [supported code changes](https://learn.microsoft.com/visualstudio/debugger/supported-code-changes-csharp).
18
-
-**Simulator and physical devices** support
19
-
-**Hot Reload Indicator** visuals for an enhanced development experience on Uno Platform targets (not currently supported on WinAppSDK target)
15
+
- Supported in **Visual Studio 2022** (Windows), **VS Code** (Linux, macOS, Windows, CodeSpaces, and GitPod) and **Rider** (Linux, macOS, Windows).
16
+
- XAML and [C# Markup](xref:Uno.Extensions.Markup.Overview) Hot Reload for **iOS, Catalyst, Android, WebAssembly, and Skia (X11, Windows, macOS and FrameBuffer)**.
17
+
- All **[C# of Hot Reload](https://learn.microsoft.com/visualstudio/debugger/hot-reload)** in both Visual Studio, VS Code and Rider. See [supported code changes](https://learn.microsoft.com/visualstudio/debugger/supported-code-changes-csharp).
18
+
-**Simulator and physical devices** support.
19
+
-**Hot Reload Indicator** visuals for an enhanced development experience on Uno Platform targets (not currently supported on WinAppSDK target).
20
20
- What can be Hot Reloaded:
21
21
-**XAML files** in the **main project** and **referenced projects libraries**
22
22
-**C# Markup controls**
@@ -26,31 +26,33 @@ The Uno Platform **Hot Reload** feature provides a way to modify the XAML and C#
- Support for partial **tree hot reload**, where modifying a `UserControl` instantiated in multiple locations will reload it without reloading its parents
29
+
- Support for partial **tree hot reload**, where modifying a `UserControl` instantiated in multiple locations will reload it without reloading its parents.
30
30
31
-
Hot Reload features vary between platforms and IDE, you can check below the list of currently supported features.
31
+
Hot Reload features are now consistent across platforms and IDEs, but with some debugger-specific variations. You can check below the list of currently supported features.
32
32
33
33
## How to use Hot Reload
34
34
35
35
### [**Visual Studio 2022**](#tab/vswin)
36
36
37
37
- Setup your environment by following our [getting started guides](xref:Uno.GetStarted.vs2022).
38
-
- Start your application (with or without the debugger, depending on the supported features below)
39
-
- Make changes to your XAML or C# code, save your file then press the red flame icon in the toolbar or use `Alt+F10`
40
-
38
+
- Start your application (with or without the debugger, depending on the supported features below).
39
+
- Make changes to your XAML or C# code, save your file then press the red flame button in the toolbar or use `Alt+F10`.
@@ -234,9 +245,9 @@ Hot Reload features vary between platforms and IDE, you can check below the list
234
245
Legend:
235
246
236
247
- ✅ Supported
237
-
- 🐞 Supported with the debugger
238
-
- ⌛ Upcoming support
239
248
- 🛜 Supported through [SSH to a Mac](xref:Uno.GettingStarted.CreateAnApp.VSCode#debug-the-app)
249
+
- ⌛ Upcoming support
250
+
- 🟥 Not supported yet
240
251
- 🔳 Not supported by the environment/IDE
241
252
242
253
### Notes
@@ -245,9 +256,8 @@ Legend:
245
256
246
257
-[1]: Support is [pending support](https://github.com/dotnet/sdk/pull/40725) in the .NET SDK.
247
258
-[2]: Support is [not available](https://youtrack.jetbrains.com/issue/RIDER-53302/launchSettings.json-WSL2-command-support).
248
-
-[3]: C# Hot Reload is affected by a [.NET Runtime issue](https://github.com/dotnet/android/issues/9120).
249
-
-[4]: XAML Hot Reload is using the XAML Reader, [pending C# Hot Reload update](https://github.com/unoplatform/uno/issues/15918) and a [VS/VS Code update](https://developercommunity.visualstudio.com/t/net70-iosnet70-android-MetadataUpd/10279604).
250
-
-[5]: C# Markup Hot Reload is supported when running in Unpackaged mode only
259
+
-[3]: Unpackaged: C# & XAML / Packaged: XAML only
260
+
-[4]: Unpackaged: C# / Packaged: none
251
261
252
262
## Supported features per Platform
253
263
@@ -259,39 +269,45 @@ Skia-based targets provide support for full XAML Hot Reload and C# Hot Reload. T
259
269
- As of VS 2022 17.9 XAML or C# Hot Reload under WSL is not supported
260
270
- VS Code
261
271
- With the debugger: The C# Dev Kit is handling hot reload [when enabled](https://code.visualstudio.com/docs/csharp/debugging#_hot-reload). As of December 20th, 2023, C# Dev Kit hot reload does not handle class libraries. To experience the best hot reload, do not use the debugger.
262
-
- Without the debugger: The VS Code Uno Platform extension is handling Hot Reload (C# or XAML)
263
-
- Adding new C# or XAML files to a project is not yet supported
272
+
- Without the debugger: The VS Code Uno Platform extension is handling Hot Reload (C# and XAML).
273
+
- Adding new C# or XAML files to a project is not yet supported.
264
274
- Rider
265
275
- Hot Reload is only supported without the debugger.
266
-
- Adding new C# or XAML files to a project is not yet supported
276
+
- Adding new C# or XAML files to a project is not yet supported.
267
277
268
278
### [**WebAssembly**](#tab/wasm)
269
279
270
-
WebAssembly is currently providing both full and partial Hot Reload support, depending on the IDE.
280
+
WebAssembly is currently providing full Hot Reload support.
271
281
272
282
- In Visual Studio Code:
273
-
- Both C# and XAML Hot Reload are fully supported
274
-
- Adding new C# or XAML files to the project is not yet supported
275
-
- Hot Reload is not supported when using the debugger
283
+
- Both C# and XAML Hot Reload are fully supported.
284
+
- Adding new C# or XAML files to the project is not yet supported.
285
+
- Hot Reload is not supported when using the debugger.
276
286
- In Rider:
277
-
- Both C# and XAML Hot Reload are fully supported
278
-
- Adding new C# or XAML files to the project is not yet supported
279
-
- Hot Reload is not supported when using the debugger
280
-
- In Visual Studio for Windows:
281
-
-[`MetadataUpdateHandlers`](https://learn.microsoft.com/dotnet/api/system.reflection.metadata.metadataupdatehandlerattribute) are invoked without the list of changed types, which means that some hot reload features may not be available. This feature is slated to be available for .NET 9.
287
+
- Both C# and XAML Hot Reload are fully supported.
288
+
- Adding new C# or XAML files to the project is not yet supported.
289
+
- Hot Reload is not supported when using the debugger.
290
+
291
+
### [**iOS, Android**](#tab/mobile)
292
+
293
+
Mobile targets now support both XAML and C# Hot Reload. Debugger-specific variations apply depending on the IDE.
294
+
295
+
- In Visual Studio:
296
+
- The debugger **has** to be attached.
297
+
- In VS Code, and Rider:
298
+
- Hot Reload is not supported when using the debugger.
299
+
- XAML `x:Bind` Hot Reload is limited to simple expressions and events.
282
300
283
-
### [**iOS, Android, and Catalyst**](#tab/mobile)
301
+
### [**Catalyst**](#tab/catalyst)
284
302
285
-
Mobile targets are currently using a limited version of XAML Hot Reload and do not support C# Hot Reload until [this dotnet runtime](https://github.com/dotnet/android/issues/9120) issue is fixed.
303
+
Mobile targets now support both XAML and C# Hot Reload.
286
304
287
-
- In Visual Studio, the "Hot Reload on File Save" feature must be disabled to avoid crashing the app. You can find this feature by clicking on the down arrow next to the red flame in the Visual Studio toolbar.
288
-
- In VS, VS Code, and Rider, [C# Hot Reload is not yet fully supported](https://developercommunity.visualstudio.com/t/net70-iosnet70-android-MetadataUpd/10279604#T-ND10384434)
289
-
- XAML `x:Bind` hot reload is limited to simple expressions and events
305
+
- XAML `x:Bind` hot reload is limited to simple expressions and events.
290
306
291
307
### [**WinAppSDK**](#tab/winappsdk)
292
308
293
309
- Hot Reload is supported by Visual Studio for WinAppSDK and provides support in unpackaged deployment mode.
294
-
- Hot Reload is not supported in Rider
310
+
- Hot Reload is not supported in VS Code and Rider.
0 commit comments