Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions docs/core/additional-tools/uninstall-tool-cli-remove.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,27 @@ zone_pivot_groups: operating-systems-set-three
::: zone pivot="os-windows"

```dotnetcli
dotnet-core-uninstall dry-run <TARGET> [--x64|--x86] <VERSION>...
dotnet-core-uninstall remove <TARGET> [--x64|--x86] <VERSION>...
[-v|--verbosity <LEVEL>] [--force] [-y|--yes]

dotnet-core-uninstall dry-run <TARGET> [--x64|--x86] <FILTER>
dotnet-core-uninstall remove <TARGET> [--x64|--x86] <FILTER>
[-v|--verbosity <LEVEL>] [--force] [-y|--yes]

dotnet-core-uninstall dry-run -h|--help|-?
dotnet-core-uninstall remove -h|--help|-?
```

::: zone-end

::: zone pivot="os-macos"

```dotnetcli
dotnet-core-uninstall dry-run <TARGET> <VERSION>...
dotnet-core-uninstall remove <TARGET> <VERSION>...
[-v|--verbosity <LEVEL>] [--force] [-y|--yes]

dotnet-core-uninstall dry-run <TARGET> <FILTER>
dotnet-core-uninstall remove <TARGET> <FILTER>
[-v|--verbosity <LEVEL>] [--force] [-y|--yes]

dotnet-core-uninstall dry-run -h|--help|-?
dotnet-core-uninstall remove -h|--help|-?
```

::: zone-end
Expand Down Expand Up @@ -70,11 +70,11 @@ The `dotnet-core-uninstall remove` command removes .NET SDKs and runtimes from t
::: zone pivot="os-windows"

- **`--aspnet-runtime`**

Discovers all the ASP.NET Core runtimes that can be uninstalled with this tool.

- **`--hosting-bundle`**

Lists all the .NET hosting bundles that can be uninstalled with this tool.

::: zone-end
Expand Down Expand Up @@ -207,7 +207,7 @@ These options are exclusive.
```

The content of the *versions.rsp* file is as follows:

```text
2.2.300
6.0.301
Expand Down
2 changes: 1 addition & 1 deletion docs/core/compatibility/9.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ If you're migrating an app to .NET 9, the breaking changes listed here might aff
| [Adding a ZipArchiveEntry with CompressionLevel sets ZIP central directory header general-purpose bit flags](core-libraries/9.0/compressionlevel-bits.md) | Behavioral change | Preview 5 |
| [Altered UnsafeAccessor support for non-open generics](core-libraries/9.0/unsafeaccessor-generics.md) | Behavioral change | Preview 6 |
| [API obsoletions with custom diagnostic IDs](core-libraries/9.0/obsolete-apis-with-custom-diagnostics.md) | Source incompatible | Preview 16 |
| [BigInteger maximum length](core-libraries/9.0/biginteger-limit.md) | Source incompatible | Preview 1 |
| [BigInteger maximum length](core-libraries/9.0/biginteger-limit.md) | Behavioral change | Preview 6 |
| [Creating type of array of System.Void not allowed](core-libraries/9.0/type-instance.md) | Behavioral change | Preview 1 |
| [Default `Equals()` and `GetHashCode()` throw for types marked with `InlineArrayAttribute`](core-libraries/9.0/inlinearrayattribute.md) | Behavioral change | Preview 6 |
| [Inline array struct size limit is enforced](core-libraries/9.0/inlinearray-size.md) | Behavioral change | Preview 1 |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ The following examples check the value of the **Release** entry to determine whe
1. Use the <xref:Microsoft.Win32.RegistryKey.OpenBaseKey%2A?displayProperty=nameWithType> and <xref:Microsoft.Win32.RegistryKey.OpenSubKey%2A?displayProperty=nameWithType> methods to access the **HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full** subkey in the Windows registry.

> [!IMPORTANT]
> If the app you're running is 32-bit and running in 64-bit Windows, the registry paths will be different than previously listed. The 64-bit registry is available in the **HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\** subkey. For example, the registry subkey for .NET Framework 4.5 is **HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full**.
> If the app you're running is 32-bit and running in 64-bit Windows, the registry paths will be different than previously listed. The 32-bit registry is available in the **HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\** subkey. For example, the registry subkey for .NET Framework 4.5 is **HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full**.

1. Check the **Release** REG_DWORD value to determine the installed version. To be forward-compatible, check for a value greater than or equal to the value listed in the [.NET Framework version table](#version_table).

Expand Down Expand Up @@ -202,7 +202,7 @@ Each version of .NET Framework from 1.1 to 4.0 is listed as a subkey at **HKEY_L
| 4.0 Full Profile | **HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full** | **Install** REG_DWORD equals `1` |

> [!IMPORTANT]
> If the app you're running is 32-bit and running in 64-bit Windows, the registry paths will be different than previously listed. The 64-bit registry is available in the **HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\** subkey. For example, the registry subkey for .NET Framework 3.5 is **HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\NET Framework Setup\\NDP\\v3.5**.
> If the app you're running is 32-bit and running in 64-bit Windows, the registry paths will be different than previously listed. The 32-bit registry is available in the **HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\** subkey. For example, the registry subkey for .NET Framework 3.5 is **HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\NET Framework Setup\\NDP\\v3.5**.

Notice that the registry path to the .NET Framework 1.0 subkey is different from the others.

Expand All @@ -223,7 +223,7 @@ Notice that the registry path to the .NET Framework 1.0 subkey is different from
Use the <xref:Microsoft.Win32.RegistryKey?displayProperty=nameWithType> class to access the **HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP** subkey in the Windows registry.

> [!IMPORTANT]
> If the app you're running is 32-bit and running in 64-bit Windows, the registry paths will be different than previously listed. The 64-bit registry is available in the **HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\** subkey. For example, the registry subkey for .NET Framework 3.5 is **HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\NET Framework Setup\\NDP\\v3.5**.
> If the app you're running is 32-bit and running in 64-bit Windows, the registry paths will be different than previously listed. The 32-bit registry is available in the **HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\** subkey. For example, the registry subkey for .NET Framework 3.5 is **HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\NET Framework Setup\\NDP\\v3.5**.

The following example finds the versions of .NET Framework 1-4 that are installed:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,20 @@ helpviewer_keywords:
- "JSON deserialization"
- "deserializing objects"
- "deserialization"
ms.topic: how-to
ms.topic: concept-article
#customer intent: As a developer, I want to learn how to use System.Text.Json to deserialize JSON data.
---

# How to read JSON as .NET objects (deserialize)

This article shows how to use the <xref:System.Text.Json?displayProperty=fullName> namespace to serialize to and deserialize from JavaScript Object Notation (JSON). If you're porting existing code from `Newtonsoft.Json`, see [How to migrate to `System.Text.Json`](migrate-from-newtonsoft.md).
This article shows how to use the <xref:System.Text.Json?displayProperty=fullName> namespace to deserialize from JavaScript Object Notation (JSON). If you're porting existing code from `Newtonsoft.Json`, see [How to migrate to `System.Text.Json`](migrate-from-newtonsoft.md).

A common way to deserialize JSON is to have (or create) a .NET class with properties and fields that represent one or more of the JSON properties. Then, to deserialize from a string or a file, call the <xref:System.Text.Json.JsonSerializer.Deserialize%2A?displayProperty=nameWithType> method. For the generic overloads, the generic type parameter is the .NET class. For the non-generic overloads, you pass the type of the class as a method parameter. You can deserialize either synchronously or asynchronously.

Any JSON properties that aren't represented in your class are ignored [by default](missing-members.md). Also, if any properties on the type are [required](required-properties.md) but not present in the JSON payload, deserialization will fail.

## Examples

The following example shows how to deserialize a JSON string:

:::code language="csharp" source="snippets/how-to/csharp/DeserializeExtra.cs" highlight="54-55":::
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ dev_langs:

By default, if the JSON payload you're deserializing contains properties that don't exist in the deserialized plain old CLR object (POCO) type, they're simply ignored. Starting in .NET 8, you can specify that all members must be present in the payload. If they're not, a <xref:System.Text.Json.JsonException> exception is thrown. You can configure this behavior in one of three ways:

- Annotate your POCO type with the `[<xref:System.Text.Json.Serialization.JsonUnmappedMemberHandlingAttribute>]` attribute, specifying either to <xref:System.Text.Json.Serialization.JsonUnmappedMemberHandling.Skip> or <xref:System.Text.Json.Serialization.JsonUnmappedMemberHandling.Disallow> missing members.
- Annotate your POCO type with the <xref:System.Text.Json.Serialization.JsonUnmappedMemberHandlingAttribute> attribute, specifying either to <xref:System.Text.Json.Serialization.JsonUnmappedMemberHandling.Skip> or <xref:System.Text.Json.Serialization.JsonUnmappedMemberHandling.Disallow> missing members.

```csharp
[JsonUnmappedMemberHandling(JsonUnmappedMemberHandling.Disallow)]
Expand All @@ -20,7 +20,7 @@ By default, if the JSON payload you're deserializing contains properties that do
public int Id { get; set; }
}

JsonSerializer.Deserialize<MyPoco>("""{"Id" : 42, "AnotherId" : -1 }""");
JsonSerializer.Deserialize<MyPoco>("""{"Id" : 42, "AnotherId" : -1 }""");
// JsonException : The JSON property 'AnotherId' could not be mapped to any .NET member contained in type 'MyPoco'.
```

Expand Down
Loading