From 0d63840163edd3abad1739ec76623a07b97ef8fc Mon Sep 17 00:00:00 2001 From: Azat Mukhametshin Date: Mon, 13 Jul 2026 16:30:11 +0200 Subject: [PATCH 001/120] Add missing vstest docs details Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4e840b63-ad95-40c2-9ef8-5f2fcc4cfdaa --- docs/core/testing/selective-unit-tests.md | 17 ++++++++++++++++- docs/core/tools/dotnet-test-vstest.md | 18 ++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/docs/core/testing/selective-unit-tests.md b/docs/core/testing/selective-unit-tests.md index 7a5d0eee4ea68..9d329713f857f 100644 --- a/docs/core/testing/selective-unit-tests.md +++ b/docs/core/testing/selective-unit-tests.md @@ -31,7 +31,7 @@ dotnet test --filter | -------------- | -------------------- | | MSTest | `FullyQualifiedName`
`Name`
`ClassName`
`Priority`
`TestCategory` | | xUnit | `FullyQualifiedName`
`DisplayName`
`Traits` | - | Nunit | `FullyQualifiedName`
`Name`
`Priority`
`TestCategory` | + | Nunit | `FullyQualifiedName`
`Name`
`Priority`
`TestCategory`
`Category`
`Property` | * **Operators** @@ -44,6 +44,21 @@ dotnet test --filter ## Character escaping +Use escape sequences to represent filter operator characters in a filter value. These escape sequences are separate from any escaping your shell requires. + +| Escape sequence | Represents | +| --------------- | -------------------- | +| `\\` | `\` | +| `\(` | `(` | +| `\)` | `)` | +| `\&` | `&` | +| `\|` | | | +| `\=` | `=` | +| `\!` | `!` | +| `\~` | `~` | + +To escape filter values programmatically, use the `Microsoft.VisualStudio.TestPlatform.ObjectModel.Utilities.FilterHelper.Escape` API from the `Microsoft.VisualStudio.TestPlatform.ObjectModel` NuGet package. + To use an exclamation mark (`!`) in a filter expression, you have to escape it in some Linux or macOS shells by putting a backslash in front of it (`\!`). For example, the following filter skips all tests in a namespace that contains `IntegrationTests`: ```dotnetcli diff --git a/docs/core/tools/dotnet-test-vstest.md b/docs/core/tools/dotnet-test-vstest.md index 765199dddae39..ecfd46d380f24 100644 --- a/docs/core/tools/dotnet-test-vstest.md +++ b/docs/core/tools/dotnet-test-vstest.md @@ -146,6 +146,24 @@ Where `Microsoft.NET.Test.Sdk` is the test host, `xunit` is the test framework. When no unit is used (for example, 5400000), the value is assumed to be in milliseconds. When used together with data driven tests, the timeout behavior depends on the test adapter used. For xUnit, NUnit, and MSTest 2.2.4+, the timeout is renewed after every test case. For MSTest before version 2.2.4, the timeout is used for all test cases. This option is supported on Windows with `netcoreapp2.1` and later, on Linux with `netcoreapp3.1` and later, and on macOS with `net5.0` or later. Implies `--blame` and `--blame-hang`. + You can also configure blame in a `.runsettings` file and pass it with `--settings`. Runsettings configuration supports the same blame behavior and additional keys that aren't exposed as top-level `dotnet test` switches, such as `CollectDumpOnTestSessionHang` and `MonitorPostmortemDebugger`. For more information, see [Blame data collector](https://github.com/microsoft/vstest/blob/main/docs/extensions/blame-datacollector.md). + + ```xml + + + + + + + + + + + + + + ``` + - [!INCLUDE [configuration](includes/cli-configuration.md)] - **`--collect `** From a4c16681a8d343176b6638751872e4c102803a90 Mon Sep 17 00:00:00 2001 From: Azat Mukhametshin Date: Mon, 13 Jul 2026 17:28:08 +0200 Subject: [PATCH 002/120] Link Event Log collector/authoring and env-var reference (T6, T7) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4e840b63-ad95-40c2-9ef8-5f2fcc4cfdaa --- docs/core/tools/dotnet-test-vstest.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/core/tools/dotnet-test-vstest.md b/docs/core/tools/dotnet-test-vstest.md index ecfd46d380f24..f3533efa774e6 100644 --- a/docs/core/tools/dotnet-test-vstest.md +++ b/docs/core/tools/dotnet-test-vstest.md @@ -119,6 +119,8 @@ Where `Microsoft.NET.Test.Sdk` is the test host, `xunit` is the test framework. To collect a crash dump from a native application running on .NET 5.0 or later, the usage of Procdump can be forced by setting the `VSTEST_DUMP_FORCEPROCDUMP` environment variable to `1`. + For the full list of test platform environment variables, see [Environment variables](https://github.com/microsoft/vstest/blob/main/docs/environment-variables.md). + - **`--blame-crash-dump-type `** (Available since .NET 5.0 SDK) The type of crash dump to be collected. Supported dump types are `full` (default), and `mini`. Implies `--blame-crash`. @@ -168,7 +170,7 @@ Where `Microsoft.NET.Test.Sdk` is the test host, `xunit` is the test framework. - **`--collect `** - Enables data collector for the test run. For more information, see [Monitor and analyze test run](https://aka.ms/vstest-collect). + Enables data collector for the test run. For more information, including the Event Log data collector and guidance for authoring your own data collector, see [Monitor and analyze test run](https://aka.ms/vstest-collect). For example you can collect code coverage by using the `--collect "Code Coverage"` option. For more information, see [Use code coverage](/visualstudio/test/using-code-coverage-to-determine-how-much-code-is-being-tested), [Customize code coverage analysis](/visualstudio/test/customizing-code-coverage-analysis), and [GitHub issue dotnet/docs#34479](https://github.com/dotnet/docs/issues/34479). From 7c986a846100787e2bc959f3e1f9ad5ddea7b677 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Tue, 14 Jul 2026 16:18:05 -0400 Subject: [PATCH 003/120] [Everyday C#] PR 13: Expressions and Statements (#54729) * First draft Run the first draft for Everyday C# PR 13: iteration statements in C#. * 2nd draft Review and fix language * respond to feedback. --- .../fundamentals/statements/iteration.md | 76 +++++++++++ .../fundamentals/statements/selection.md | 73 ++++++++++ .../snippets/iteration-statements/Program.cs | 128 ++++++++++++++++++ .../iteration-statements.csproj | 8 ++ .../snippets/selection-statements/Program.cs | 119 ++++++++++++++++ .../selection-statements.csproj | 8 ++ docs/csharp/toc.yml | 6 + 7 files changed, 418 insertions(+) create mode 100644 docs/csharp/fundamentals/statements/iteration.md create mode 100644 docs/csharp/fundamentals/statements/selection.md create mode 100644 docs/csharp/fundamentals/statements/snippets/iteration-statements/Program.cs create mode 100644 docs/csharp/fundamentals/statements/snippets/iteration-statements/iteration-statements.csproj create mode 100644 docs/csharp/fundamentals/statements/snippets/selection-statements/Program.cs create mode 100644 docs/csharp/fundamentals/statements/snippets/selection-statements/selection-statements.csproj diff --git a/docs/csharp/fundamentals/statements/iteration.md b/docs/csharp/fundamentals/statements/iteration.md new file mode 100644 index 0000000000000..d598589830365 --- /dev/null +++ b/docs/csharp/fundamentals/statements/iteration.md @@ -0,0 +1,76 @@ +--- +title: "Iteration statements in C#" +description: Use foreach, while, do-while, and for to repeat a block of code, and use break and continue to control the flow of a loop. +ms.date: 07/09/2026 +ms.topic: concept-article +ai-usage: ai-assisted +--- + +# Iteration statements + +> [!TIP] +> This article is part of the **Fundamentals** section for developers who already know at least one programming language and are learning C#. If you're new to programming, start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. For the complete syntax, see [iteration statements](../../language-reference/statements/iteration-statements.md) in the language reference. +> +> **Coming from another language?** All four C# loops (`foreach`, `while`, `do`-`while`, and `for`) have direct equivalents in Java, C++, and JavaScript. You use `foreach` most often. It iterates a collection without an index, like Java's enhanced `for` or JavaScript's `for...of`. + +Iteration statements run a block of code repeatedly. Each pass through the block is an *iteration*, and a repeating block is a *loop*. C# provides four loops. Start with `foreach` for collections, use `while` and `do`-`while` when a condition controls the repetition, and use `for` when you need an explicit index. + +## Iterate a collection with `foreach` + +The `foreach` statement runs its body once for each element in a collection, in order. It's the most common choice for reading a collection because you don't manage an index or a bounds check. The `foreach` statement prevents typical off-by-one errors: + +:::code language="csharp" source="./snippets/iteration-statements/Program.cs" id="Foreach"::: + +`foreach` works with any type that C# recognizes as a sequence, including arrays, , and . The iteration variable (`name` in the previous example) is read-only, so you can't reassign it inside the loop. + +The body of a loop is a single *statement*, such as an assignment or a method call. A *block statement* is itself a single statement that encloses zero or more statements in braces (`{ }`). + +Many coding standards recommend that you enclose the loop body in braces, even for a single statement. Braces make the scope explicit. It prevents a common mistake: adding a second line later that you expect to run each iteration, but that runs once after the loop instead. Only the braces decide which statements belong to the loop. C# doesn't treat whitespace as significant, so indentation alone never does. Braces are legal even around one line: the block is the single statement that the loop repeats. Indent your code for readability, but rely on braces to define the block. + +## Repeat while a condition holds with `while` + +A `while` loop checks its Boolean condition *before* each iteration. If the condition is `false` at the start, the body never runs, so a `while` loop runs zero or more times: + +:::code language="csharp" source="./snippets/iteration-statements/Program.cs" id="While"::: + +Make sure something inside the loop changes the condition. In the previous example, `countdown--` eventually makes the condition `false`. A loop whose condition never becomes `false` runs forever. + +## Run the body at least once with `do`-`while` + +A `do`-`while` loop checks its condition *after* each iteration, so the body always runs at least once. Use it when the first pass must happen before you can evaluate the condition, such as prompting for input and then validating it: + +:::code language="csharp" source="./snippets/iteration-statements/Program.cs" id="DoWhile"::: + +## Count with `for` + +A `for` loop statement contains three parts: an *initializer* that runs once before the loop, a *condition* that's checked before each iteration, and an *iterator* that runs after each iteration. Use `for` when you need the index itself, not just the elements. Typically, you need the index when you want to modify the element rather than reading its value. + +:::code language="csharp" source="./snippets/iteration-statements/Program.cs" id="For"::: + +When you only read the elements, when you don't use the positions or assign new values, prefer `foreach`. It states the intent more clearly and avoids index arithmetic. + +## Exit or skip with `break` and `continue` + +Two jump statements give you finer control inside any loop. The `break` statement exits the loop immediately, skipping any remaining iterations: + +:::code language="csharp" source="./snippets/iteration-statements/Program.cs" id="Break"::: + +The `continue` statement skips the rest of the current iteration and moves on to the next one: + +:::code language="csharp" source="./snippets/iteration-statements/Program.cs" id="Continue"::: + +## Iterate an asynchronous stream with `await foreach` + +An *asynchronous stream* is a reader that uses an asynchronous task to produce each next element. C# represents it with the interface. Data that arrives over time, such as pages from a web API or rows from a database, fits this model: retrieving the next element is an awaitable operation instead of an immediate return. + +To consume an asynchronous stream, put the `await` keyword before `foreach`. Each iteration awaits the next element, so the loop suspends while that element is produced instead of blocking the thread: + +:::code language="csharp" source="./snippets/iteration-statements/Program.cs" id="AwaitForeach"::: + +Asynchronous streams build on `async` and `await`. For a full walkthrough, see [Generate and consume asynchronous streams](../../asynchronous-programming/generate-consume-asynchronous-stream.md). + +## See also + +- [Selection statements](selection.md) +- [Iteration statements (language reference)](../../language-reference/statements/iteration-statements.md) +- [Generate and consume asynchronous streams](../../asynchronous-programming/generate-consume-asynchronous-stream.md) diff --git a/docs/csharp/fundamentals/statements/selection.md b/docs/csharp/fundamentals/statements/selection.md new file mode 100644 index 0000000000000..5b7a3eea967cb --- /dev/null +++ b/docs/csharp/fundamentals/statements/selection.md @@ -0,0 +1,73 @@ +--- +title: "Selection statements in C#" +description: Use if, else, and switch statements to choose which code runs based on a condition, including pattern-based case labels and when clauses. +ms.date: 07/09/2026 +ms.topic: concept-article +ai-usage: ai-assisted +--- + +# Selection statements + +> [!TIP] +> This article is part of the **Fundamentals** section for developers who already know at least one programming language and are learning C#. If you're new to programming, start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. For the complete syntax, see [selection statements](../../language-reference/statements/selection-statements.md) in the language reference. +> +> **Coming from another language?** C++, Java, and JavaScript all share C's heritage, so `if`, `else`, and `switch` read the same in C#. The one difference worth noting: C# forbids fall-through between nonempty `switch` cases, and each `case` label can test a *pattern* rather than only a constant. If you're coming from Python, C#'s `if`/`else if`/`else` maps to `if`/`elif`/`else`, and C#'s pattern-based `switch` is closest to Python's `match` statement. + +Selection statements choose which block of code runs based on a condition. C# provides two: `if` (with an optional `else`) for branching on a Boolean value, and `switch` for comparing one value against several cases. A *Boolean expression* is any expression that evaluates to `true` or `false`, such as the comparison `temperature >= 25`. + +## Branch with `if` and `else` + +An `if` statement runs its block only when its Boolean expression is `true`. Add an `else` block to supply the code that runs when the condition is `false`: + +:::code language="csharp" source="./snippets/selection-statements/Program.cs" id="IfElse"::: + +The body of an `if` or `else` is a single *statement*, such as an assignment or a method call. A *block statement* is itself a single statement that encloses zero or more statements in braces (`{ }`). + +Many coding standards recommend that you enclose the branch bodies in braces, even for a single statement. Braces make the scope explicit. It prevents a common mistake: adding a second line later that you expect to run conditionally, but that runs unconditionally instead. Only the braces decide which statements belong to the branch. C# doesn't treat whitespace as significant, so indentation alone never does. Braces are legal even around one line: the block is the single statement that the branch runs. Indent your code for readability, but rely on braces to define the block. + +## Test several conditions with `else if` + +To choose among more than two paths, chain conditions with `else if`. C# evaluates each condition in order and runs the first block whose condition is `true`, then skips the rest. A final `else` handles every remaining case: + +:::code language="csharp" source="./snippets/selection-statements/Program.cs" id="ElseIf"::: + +Order matters in a chain. Because the first matching condition wins, put the most specific conditions first. In the previous example, testing `score >= 80` before `score >= 70` ensures a score of 82 maps to `"B"` rather than `"C"`. + +## Match a value with a `switch` statement + +When you compare a single value against many discrete cases, a `switch` statement reads more clearly than a long `else if` chain. Like `if`, the `switch` statement is a branching statement: it chooses which code to run. Each `case` label lists a value to match, and each `case` section ends with a `break` statement. Stack labels to share one body, and use the `default` section for values that no case matches: + +:::code language="csharp" source="./snippets/selection-statements/Program.cs" id="SwitchStatement"::: + +Unlike C and Java, C# doesn't allow execution to fall through from one nonempty `case` section into the next. Every section that contains code must end with a `break` (or another jump statement, such as `return` or `goto`). This rule prevents the accidental fall-through bugs common in those languages. + +### Test patterns with `case` and `when` + +A `case` label isn't limited to constant values. It can test a *pattern*, which is a rule that describes the shape or value of data. A relational pattern such as `< 0` matches any value less than zero. Add a `when` clause to attach an extra condition that must also be `true` for the case to match: + +:::code language="csharp" source="./snippets/selection-statements/Program.cs" id="SwitchWhen"::: + +Pattern-based cases are evaluated top to bottom, so more specific patterns belong before more general ones. For the full catalog of patterns, see [pattern matching](../functional/pattern-matching.md). + +## Select a value with an expression + +The `if` and `switch` statements decide which code runs. When you instead need to choose a *value*, use an *expression*. An expression evaluates to a value, so you can use it anywhere a value is expected, such as the right side of an assignment or a method argument. C# offers expression forms that select a value from alternatives such as the conditional operator and the `switch` expression. + +### Conditional operator `?:` + +The conditional operator `?:` chooses between two values based on a Boolean condition. It takes the form `condition ? valueIfTrue : valueIfFalse`: + +:::code language="csharp" source="./snippets/selection-statements/Program.cs" id="Ternary"::: + +Use `?:` when you assign one of two values, because it keeps the assignment in one place and lets you mark the variable `readonly` or `const`. Prefer an `if` statement when the branches do more than produce a value. For the operator's precedence and associativity rules, see the [conditional operator](../../language-reference/operators/conditional-operator.md) in the language reference. + +### `switch` expression + +A `switch` expression is the expression counterpart to the `switch` statement. Instead of running code for the matching case, it evaluates to a value. It's more concise than assigning a value in each arm of a `switch` statement, and the compiler warns you when the arms don't cover every possible input. The `switch` expression is a core part of pattern matching. To learn when and how to use it, see [pattern matching](../functional/pattern-matching.md) and the [`switch` expression](../../language-reference/operators/switch-expression.md) reference. + +## See also + +- [Iteration statements](iteration.md) +- [Pattern matching](../functional/pattern-matching.md) +- [Selection statements (language reference)](../../language-reference/statements/selection-statements.md) +- [Conditional operator (language reference)](../../language-reference/operators/conditional-operator.md) diff --git a/docs/csharp/fundamentals/statements/snippets/iteration-statements/Program.cs b/docs/csharp/fundamentals/statements/snippets/iteration-statements/Program.cs new file mode 100644 index 0000000000000..9c4e8db5f74a9 --- /dev/null +++ b/docs/csharp/fundamentals/statements/snippets/iteration-statements/Program.cs @@ -0,0 +1,128 @@ +namespace IterationStatements; + +public static class Program +{ + public static async Task Main() + { + ForeachExample(); + WhileExample(); + DoWhileExample(); + ForExample(); + BreakExample(); + ContinueExample(); + await AwaitForeachExample(); + } + + private static void ForeachExample() + { + // + string[] names = ["Ana", "Ben", "Cleo"]; + + // foreach reads each element in order. It's the default loop for + // collections: no index to manage and no off-by-one mistakes. + foreach (string name in names) + { + Console.WriteLine(name); // => Ana, then Ben, then Cleo + } + // + } + + private static void WhileExample() + { + // + int countdown = 3; + + // A while loop checks its condition before each iteration, so the body + // runs zero or more times. + while (countdown > 0) + { + Console.WriteLine(countdown); // => 3, then 2, then 1 + countdown--; + } + // + } + + private static void DoWhileExample() + { + // + int attempts = 0; + + // A do-while loop runs its body once, then checks the condition. Use it + // when the body must run at least one time. + do + { + attempts++; + Console.WriteLine($"Attempt {attempts}"); // => Attempt 1, then Attempt 2, then Attempt 3 + } + while (attempts < 3); + // + } + + private static void ForExample() + { + // + // A for loop fits when you need an explicit index. The three parts are + // the initializer, the condition, and the iterator. + for (int i = 0; i < 3; i++) + { + Console.WriteLine(i); // => 0, then 1, then 2 + } + // + } + + private static void BreakExample() + { + // + int[] numbers = [2, 4, 7, 8]; + + // break stops the loop immediately, skipping any remaining elements. + foreach (int number in numbers) + { + if (number % 2 != 0) + { + Console.WriteLine($"First odd number: {number}"); // => First odd number: 7 + break; + } + } + // + } + + private static void ContinueExample() + { + // + int[] values = [1, 2, 3, 4, 5]; + + // continue skips the rest of the current iteration and moves to the next. + foreach (int value in values) + { + if (value % 2 == 0) + { + continue; // skip even numbers + } + + Console.WriteLine(value); // => 1, then 3, then 5 + } + // + } + + // + private static async Task AwaitForeachExample() + { + // await foreach consumes an asynchronous stream. Each iteration can + // suspend while the next element is produced. + await foreach (int value in GenerateAsync()) + { + Console.WriteLine(value); // => 0, then 1, then 2 + } + } + + private static async IAsyncEnumerable GenerateAsync() + { + for (int i = 0; i < 3; i++) + { + await Task.Delay(1); // stand-in for real asynchronous work + yield return i; + } + } + // +} diff --git a/docs/csharp/fundamentals/statements/snippets/iteration-statements/iteration-statements.csproj b/docs/csharp/fundamentals/statements/snippets/iteration-statements/iteration-statements.csproj new file mode 100644 index 0000000000000..bad583f080c8c --- /dev/null +++ b/docs/csharp/fundamentals/statements/snippets/iteration-statements/iteration-statements.csproj @@ -0,0 +1,8 @@ + + + Exe + net10.0 + enable + enable + + diff --git a/docs/csharp/fundamentals/statements/snippets/selection-statements/Program.cs b/docs/csharp/fundamentals/statements/snippets/selection-statements/Program.cs new file mode 100644 index 0000000000000..f0c087ac20662 --- /dev/null +++ b/docs/csharp/fundamentals/statements/snippets/selection-statements/Program.cs @@ -0,0 +1,119 @@ +namespace SelectionStatements; + +public static class Program +{ + public static void Main() + { + IfElseExample(); + ElseIfExample(); + SwitchStatementExample(); + SwitchWhenExample(); + TernaryExample(); + } + + private static void IfElseExample() + { + // + int temperature = 28; + + // An if statement runs its block only when the condition is true. + // The else block runs when the condition is false. + if (temperature >= 25) + { + Console.WriteLine("Warm"); // => Warm + } + else + { + Console.WriteLine("Cool"); + } + // + } + + private static void ElseIfExample() + { + // + int score = 82; + + // Chain conditions with else if. The first branch whose condition is + // true runs; the compiler skips the rest. + string grade; + if (score >= 90) + { + grade = "A"; + } + else if (score >= 80) + { + grade = "B"; + } + else if (score >= 70) + { + grade = "C"; + } + else + { + grade = "F"; + } + + Console.WriteLine(grade); // => B + // + } + + private static void SwitchStatementExample() + { + // + DayOfWeek day = DayOfWeek.Saturday; + + // A switch statement compares one value against several case labels. + // Stacked labels share a body. Each section ends with break, and the + // default section runs when no case matches. + switch (day) + { + case DayOfWeek.Saturday: + case DayOfWeek.Sunday: + Console.WriteLine("Weekend"); // => Weekend + break; + default: + Console.WriteLine("Weekday"); + break; + } + // + } + + private static void SwitchWhenExample() + { + // + int measurement = 42; + + // A case label can test a pattern instead of a constant. A when clause + // adds a condition that must also be true for the case to match. + switch (measurement) + { + case < 0: + Console.WriteLine("Negative"); + break; + case 0: + Console.WriteLine("Zero"); + break; + case > 0 when measurement % 2 == 0: + Console.WriteLine("Positive and even"); // => Positive and even + break; + default: + Console.WriteLine("Positive and odd"); + break; + } + // + } + + private static void TernaryExample() + { + // + int hour = 9; + + // The conditional operator ?: chooses between two values in a single + // expression: condition ? valueIfTrue : valueIfFalse. + string greeting = hour < 12 ? "Good morning" : "Good afternoon"; + + Console.WriteLine(greeting); // => Good morning + // + } +} diff --git a/docs/csharp/fundamentals/statements/snippets/selection-statements/selection-statements.csproj b/docs/csharp/fundamentals/statements/snippets/selection-statements/selection-statements.csproj new file mode 100644 index 0000000000000..bad583f080c8c --- /dev/null +++ b/docs/csharp/fundamentals/statements/snippets/selection-statements/selection-statements.csproj @@ -0,0 +1,8 @@ + + + Exe + net10.0 + enable + enable + + diff --git a/docs/csharp/toc.yml b/docs/csharp/toc.yml index 92b994442b625..4c2d53605975b 100644 --- a/docs/csharp/toc.yml +++ b/docs/csharp/toc.yml @@ -113,6 +113,12 @@ items: items: - name: Use string interpolation href: fundamentals/tutorials/string-interpolation.md + - name: Expressions and statements + items: + - name: Selection statements + href: fundamentals/statements/selection.md + - name: Iteration statements + href: fundamentals/statements/iteration.md - name: Object-oriented programming items: - name: Classes, structs, and records From 2eb9f35fbb64b6482b6e9fe9a818df8a426c705e Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Jul 2026 09:12:15 -0400 Subject: [PATCH 004/120] Code-fence C# conversion keywords in numeric conversions doc (#54760) * Initial plan * Fix overlocalization risk by codefencing C# conversion keywords * Address review: code-fence implicit-table type keywords --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- .../builtin-types/numeric-conversions.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/csharp/language-reference/builtin-types/numeric-conversions.md b/docs/csharp/language-reference/builtin-types/numeric-conversions.md index 0ebb39a345c63..722996b7379ed 100644 --- a/docs/csharp/language-reference/builtin-types/numeric-conversions.md +++ b/docs/csharp/language-reference/builtin-types/numeric-conversions.md @@ -22,17 +22,17 @@ The following table shows the predefined implicit conversions between the built- | From | To | |------------------------------------------|--------| -| [sbyte](integral-numeric-types.md) | `short`, `int`, `long`, `float`, `double`, `decimal`, or `nint` | -| [byte](integral-numeric-types.md) | `short`, `ushort`, `int`, `uint`, `long`, `ulong`, `float`, `double`, `decimal`, `nint`, or `nuint` | -| [short](integral-numeric-types.md) | `int`, `long`, `float`, `double`, `decimal`, or `nint` | -| [ushort](integral-numeric-types.md) | `int`, `uint`, `long`, `ulong`, `float`, `double`, `decimal`, `nint`, or `nuint` | -| [int](integral-numeric-types.md) | `long`, `float`, `double`, `decimal`, or `nint` | -| [uint](integral-numeric-types.md) | `long`, `ulong`, `float`, `double`, `decimal`, or `nuint` | -| [long](integral-numeric-types.md) | `float`, `double`, or `decimal` | -| [ulong](integral-numeric-types.md) | `float`, `double`, or `decimal` | -| [float](floating-point-numeric-types.md) | `double` | -| [nint](integral-numeric-types.md) | `long`, `float`, `double`, or `decimal` | -| [nuint](integral-numeric-types.md) | `ulong`, `float`, `double`, or `decimal` | +| [`sbyte`](integral-numeric-types.md) | `short`, `int`, `long`, `float`, `double`, `decimal`, or `nint` | +| [`byte`](integral-numeric-types.md) | `short`, `ushort`, `int`, `uint`, `long`, `ulong`, `float`, `double`, `decimal`, `nint`, or `nuint` | +| [`short`](integral-numeric-types.md) | `int`, `long`, `float`, `double`, `decimal`, or `nint` | +| [`ushort`](integral-numeric-types.md) | `int`, `uint`, `long`, `ulong`, `float`, `double`, `decimal`, `nint`, or `nuint` | +| [`int`](integral-numeric-types.md) | `long`, `float`, `double`, `decimal`, or `nint` | +| [`uint`](integral-numeric-types.md) | `long`, `ulong`, `float`, `double`, `decimal`, or `nuint` | +| [`long`](integral-numeric-types.md) | `float`, `double`, or `decimal` | +| [`ulong`](integral-numeric-types.md) | `float`, `double`, or `decimal` | +| [`float`](floating-point-numeric-types.md) | `double` | +| [`nint`](integral-numeric-types.md) | `long`, `float`, `double`, or `decimal` | +| [`nuint`](integral-numeric-types.md) | `ulong`, `float`, `double`, or `decimal` | > [!NOTE] > The implicit conversions from `int`, `uint`, `long`, `ulong`, `nint`, or `nuint` to `float` and from `long`, `ulong`, `nint`, or `nuint` to `double` can cause a loss of precision, but never a loss of an order of magnitude. The other implicit numeric conversions never lose any information. From b23bc0eeaf53d58182f905aa3eec9271b4305bc7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Jul 2026 09:26:10 -0400 Subject: [PATCH 005/120] Bump the dotnet group with 1 update (#54773) Bumps Refit.HttpClientFactory from 13.0.0 to 13.1.0 --- updated-dependencies: - dependency-name: Refit.HttpClientFactory dependency-version: 13.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/core/extensions/snippets/http/generated/generated.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core/extensions/snippets/http/generated/generated.csproj b/docs/core/extensions/snippets/http/generated/generated.csproj index 757bcbb57b017..ea326224db9cf 100644 --- a/docs/core/extensions/snippets/http/generated/generated.csproj +++ b/docs/core/extensions/snippets/http/generated/generated.csproj @@ -11,7 +11,7 @@ - + From ae4c6d4ce30101624de4b8cbb85ae78ae0863503 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Jul 2026 09:26:32 -0400 Subject: [PATCH 006/120] Bump the dotnet group with 1 update (#54780) Bumps Azure.Storage.Blobs from 12.29.0 to 12.29.1 --- updated-dependencies: - dependency-name: Azure.Storage.Blobs dependency-version: 12.29.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../aspnetcore-guidance/BlazorSample/BlazorSample.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/sdk/snippets/aspnetcore-guidance/BlazorSample/BlazorSample.csproj b/docs/azure/sdk/snippets/aspnetcore-guidance/BlazorSample/BlazorSample.csproj index aaf29cd2e0855..751b9fb2321ea 100644 --- a/docs/azure/sdk/snippets/aspnetcore-guidance/BlazorSample/BlazorSample.csproj +++ b/docs/azure/sdk/snippets/aspnetcore-guidance/BlazorSample/BlazorSample.csproj @@ -9,7 +9,7 @@ - + From 2f0519ad7a28ef6aabb4b163600c11e64e2f8b05 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Jul 2026 09:27:09 -0400 Subject: [PATCH 007/120] Bump the dotnet group with 1 update (#54781) Bumps OpenAI from 2.11.0 to 2.12.0 --- updated-dependencies: - dependency-name: OpenAI dependency-version: 2.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../snippets/image-generation/openai/ImagesOpenAI.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ai/quickstarts/snippets/image-generation/openai/ImagesOpenAI.csproj b/docs/ai/quickstarts/snippets/image-generation/openai/ImagesOpenAI.csproj index 57c63f69ac49b..5f7c914e6bacd 100644 --- a/docs/ai/quickstarts/snippets/image-generation/openai/ImagesOpenAI.csproj +++ b/docs/ai/quickstarts/snippets/image-generation/openai/ImagesOpenAI.csproj @@ -8,7 +8,7 @@ - + From 360c2f50dae213262a65a5410b509aeca670be2a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Jul 2026 09:27:32 -0400 Subject: [PATCH 008/120] Bump the dotnet group with 1 update (#54785) Bumps OpenTelemetry.Instrumentation.AspNetCore from 1.15.2 to 1.16.0 --- updated-dependencies: - dependency-name: OpenTelemetry.Instrumentation.AspNetCore dependency-version: 1.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../csharp/OTel-Prometheus-Grafana-Jaeger.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core/diagnostics/snippets/OTel-Prometheus-Grafana-Jaeger/csharp/OTel-Prometheus-Grafana-Jaeger.csproj b/docs/core/diagnostics/snippets/OTel-Prometheus-Grafana-Jaeger/csharp/OTel-Prometheus-Grafana-Jaeger.csproj index 19d64a77d7d83..d68c8ba4772ca 100644 --- a/docs/core/diagnostics/snippets/OTel-Prometheus-Grafana-Jaeger/csharp/OTel-Prometheus-Grafana-Jaeger.csproj +++ b/docs/core/diagnostics/snippets/OTel-Prometheus-Grafana-Jaeger/csharp/OTel-Prometheus-Grafana-Jaeger.csproj @@ -18,7 +18,7 @@ - + From 5c62a3c39d91ec7aacc16cee943067f71e589fe4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Jul 2026 09:27:51 -0400 Subject: [PATCH 009/120] Bump the dotnet group with 2 updates (#54784) Bumps OpenTelemetry.Instrumentation.AspNetCore from 1.15.2 to 1.16.0 Bumps OpenTelemetry.Instrumentation.Http from 1.15.1 to 1.16.0 --- updated-dependencies: - dependency-name: OpenTelemetry.Instrumentation.AspNetCore dependency-version: 1.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: OpenTelemetry.Instrumentation.Http dependency-version: 1.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../snippets/OTLP-Example/csharp/OTLP-Example.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/core/diagnostics/snippets/OTLP-Example/csharp/OTLP-Example.csproj b/docs/core/diagnostics/snippets/OTLP-Example/csharp/OTLP-Example.csproj index fe9ddd241c853..bb94da73542e1 100644 --- a/docs/core/diagnostics/snippets/OTLP-Example/csharp/OTLP-Example.csproj +++ b/docs/core/diagnostics/snippets/OTLP-Example/csharp/OTLP-Example.csproj @@ -11,8 +11,8 @@ - - + + From 42758bfc22e49b004909b6cea0946ca4984a71c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Jul 2026 09:28:26 -0400 Subject: [PATCH 010/120] Bump the dotnet group with 1 update (#54789) Bumps Spectre.Console from 0.57.1 to 0.57.2 --- updated-dependencies: - dependency-name: Spectre.Console dependency-version: 0.57.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../resource-monitoring-with-manual-metrics.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core/diagnostics/snippets/resource-monitoring-with-manual-metrics/resource-monitoring-with-manual-metrics.csproj b/docs/core/diagnostics/snippets/resource-monitoring-with-manual-metrics/resource-monitoring-with-manual-metrics.csproj index d8803776079f8..feb8a4d60d635 100644 --- a/docs/core/diagnostics/snippets/resource-monitoring-with-manual-metrics/resource-monitoring-with-manual-metrics.csproj +++ b/docs/core/diagnostics/snippets/resource-monitoring-with-manual-metrics/resource-monitoring-with-manual-metrics.csproj @@ -14,7 +14,7 @@ - + From e1363f752ccb5c07ad54477763ef7f48852d9830 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Jul 2026 09:28:48 -0400 Subject: [PATCH 011/120] Bump the dotnet group with 3 updates (#54798) Bumps Microsoft.Extensions.AI.OpenAI from 10.4.1 to 10.7.0 Bumps Microsoft.Extensions.Configuration from 10.0.5 to 10.0.9 Bumps Microsoft.Extensions.Configuration.UserSecrets from 10.0.5 to 10.0.9 --- updated-dependencies: - dependency-name: Microsoft.Extensions.AI.OpenAI dependency-version: 10.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration dependency-version: 10.0.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.UserSecrets dependency-version: 10.0.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../prompt-completion/openai/ExtensionsOpenAI.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/ai/quickstarts/snippets/prompt-completion/openai/ExtensionsOpenAI.csproj b/docs/ai/quickstarts/snippets/prompt-completion/openai/ExtensionsOpenAI.csproj index e0a3251bd6984..069e51cd638b5 100644 --- a/docs/ai/quickstarts/snippets/prompt-completion/openai/ExtensionsOpenAI.csproj +++ b/docs/ai/quickstarts/snippets/prompt-completion/openai/ExtensionsOpenAI.csproj @@ -8,9 +8,9 @@ - - - + + + From 9db14b1155137331fe91a235e61f13005c37a742 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Jul 2026 09:29:11 -0400 Subject: [PATCH 012/120] Bump the dotnet group with 1 update (#54799) Bumps Microsoft.Agents.AI.OpenAI from 1.12.0 to 1.13.0 --- updated-dependencies: - dependency-name: Microsoft.Agents.AI.OpenAI dependency-version: 1.13.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/ai/snippets/prompt-engineering/multi-turn-chat.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ai/snippets/prompt-engineering/multi-turn-chat.csproj b/docs/ai/snippets/prompt-engineering/multi-turn-chat.csproj index a2a04fd9152f0..e56db72962f4b 100644 --- a/docs/ai/snippets/prompt-engineering/multi-turn-chat.csproj +++ b/docs/ai/snippets/prompt-engineering/multi-turn-chat.csproj @@ -10,7 +10,7 @@ - + + +- [**CS0202**](#enumerable-pattern-requirements): *foreach requires that the return type 'type' of 'type.GetEnumerator()' must have a suitable public 'MoveNext' method and public 'Current' property* +- [**CS0230**](#foreach-statement-syntax): *Type and identifier are both required in a foreach statement* +- [**CS0278**](#enumerable-pattern-requirements): *'type' does not implement the 'pattern name' pattern. 'method name' is ambiguous with 'method name'.* +- [**CS0279**](#enumerable-pattern-requirements): *'type' does not implement the 'pattern name' pattern. 'method name' is not a public instance or extension method.* +- [**CS0280**](#enumerable-pattern-requirements): *'type' does not implement the 'pattern name' pattern. 'method name' has the wrong signature.* +- [**CS0446**](#foreach-statement-syntax): *Foreach cannot operate on a 'method group'. Did you intend to invoke the 'method group'?* +- [**CS1579**](#enumerable-pattern-requirements): *foreach statement cannot operate on variables of type 'type' because 'type' does not contain a public instance or extension definition for 'member'* +- [**CS1640**](#multiple-enumerable-implementations): *foreach statement cannot operate on variables of type 'type' because it implements multiple instantiations of 'interface'; try casting to a specific interface instantiation* +- [**CS8186**](#foreach-statement-syntax): *A foreach loop must declare its iteration variables.* +- [**CS8412**](#enumerable-pattern-requirements): *Asynchronous foreach requires that the return type 'type' of 'method' must have a suitable public 'MoveNextAsync' method and public 'Current' property* +- [**CS8413**](#multiple-enumerable-implementations): *Asynchronous foreach statement cannot operate on variables of type 'type' because it implements multiple instantiations of 'interface'; try casting to a specific interface instantiation* +- [**CS8414**](#mismatched-foreach-and-await-foreach): *foreach statement cannot operate on variables of type 'type' because 'type' does not contain a public instance or extension definition for 'member'. Did you mean 'await foreach' rather than 'foreach'?* +- [**CS8415**](#mismatched-foreach-and-await-foreach): *Asynchronous foreach statement cannot operate on variables of type 'type' because 'type' does not contain a public instance or extension definition for 'member'. Did you mean 'foreach' rather than 'await foreach'?* +- [**CS8419**](#async-iterator-method-body): *The body of an async-iterator method must contain a 'yield' statement.* +- [**CS8420**](#async-iterator-method-body): *The body of an async-iterator method must contain a 'yield' statement. Consider removing 'async' from the method declaration or adding a 'yield' statement.* +- [**CS8424**](#enumeratorcancellation-attribute-usage): *The EnumeratorCancellationAttribute applied to parameter 'name' will have no effect. The attribute is only effective on a parameter of type CancellationToken in an async-iterator method returning IAsyncEnumerable* +- [**CS8425**](#enumeratorcancellation-attribute-usage): *Async-iterator 'method' has one or more parameters of type 'CancellationToken' but none of them is decorated with the 'EnumeratorCancellation' attribute, so the cancellation token parameter from the generated 'IAsyncEnumerable<>.GetAsyncEnumerator' will be unconsumed* +- [**CS8426**](#enumeratorcancellation-attribute-usage): *The attribute [EnumeratorCancellation] cannot be used on multiple parameters* +- [**CS9353**](#mismatched-foreach-and-await-foreach): *'type' does not contain a definition for 'member' and no accessible extension method 'member' accepting a first argument of type 'type' could be found (did you mean to iterate over the async collection with 'await foreach' instead?)* + +## `foreach` statement syntax + +- **CS0230**: *Type and identifier are both required in a foreach statement* +- **CS0446**: *Foreach cannot operate on a 'method group'. Did you intend to invoke the 'method group'?* +- **CS8186**: *A foreach loop must declare its iteration variables.* + +These errors indicate that the [`foreach` statement](../statements/iteration-statements.md#the-foreach-statement) itself is malformed, regardless of whether the collection type is valid. + +Declare both a type (or `var`) and an identifier for the iteration variable (**CS0230**, **CS8186**). The `foreach` statement requires a loop variable declaration. You can't omit either the type or the name. For example, write `foreach (int x in collection)` rather than `foreach (int in collection)`. + +Invoke the method or delegate rather than passing it as a collection expression (**CS0446**). If you reference a method group or delegate without parentheses in the `in` clause, the compiler reports this error because it expects a collection value. Add parentheses to call the method, provided it returns an enumerable type: `foreach (var item in GetItems())`. + +## Enumerable pattern requirements + +- **CS0202**: *foreach requires that the return type 'type' of 'type.GetEnumerator()' must have a suitable public 'MoveNext' method and public 'Current' property* +- **CS0278**: *'type' does not implement the 'pattern name' pattern. 'method name' is ambiguous with 'method name'.* +- **CS0279**: *'type' does not implement the 'pattern name' pattern. 'method name' is not a public instance or extension method.* +- **CS0280**: *'type' does not implement the 'pattern name' pattern. 'method name' has the wrong signature.* +- **CS1579**: *foreach statement cannot operate on variables of type 'type' because 'type' does not contain a public instance or extension definition for 'member'* +- **CS8412**: *Asynchronous foreach requires that the return type 'type' of 'method' must have a suitable public 'MoveNextAsync' method and public 'Current' property* + +The `foreach` statement uses a pattern-based approach rather than requiring a specific interface. For a type to be enumerable, it must provide: + +- A public parameterless `GetEnumerator` method (or `GetAsyncEnumerator` for `await foreach`) whose return type is a class, struct, or interface. +- On the enumerator return type: a public `Current` property and a public parameterless `MoveNext` method returning `bool` (or a public parameterless `MoveNextAsync` method that returns `Task`, `ValueTask`, or any other awaitable type whose awaiter's `GetResult` method returns a `bool` value). +For details on the enumerable pattern, see [Iteration statements - `foreach`](../statements/iteration-statements.md#the-foreach-statement). + +Ensure `GetEnumerator` returns a proper enumerator type — not an array or pointer (**CS0202**). The return value must be a type that itself exposes `MoveNext` and `Current`. + +Add a public `GetEnumerator` method if the type doesn't have one (**CS1579**). Alternatively, implement or provide an extension method named `GetEnumerator`. For `await foreach`, provide `GetAsyncEnumerator` or implement . + +Ensure that `GetAsyncEnumerator` returns a type with a public `Current` property and a public parameterless `MoveNextAsync` method that returns `Task`, `ValueTask`, or any other awaitable type whose awaiter's `GetResult` method returns a `bool` value (**CS8412**). This is the async equivalent of **CS0202**. + +Resolve ambiguity when multiple methods match the pattern name (**CS0278**). This warning occurs when the compiler finds two candidates for `MoveNext` or `GetEnumerator`. Remove or rename the conflicting member, or cast to a specific interface to disambiguate. + +Make pattern methods public and non-static (**CS0279**). The enumerable pattern requires that `GetEnumerator`, `MoveNext`, and `Current` be public instance members (or public extension methods). Change `internal` or `static` members to `public` instance members. + +Correct the signature of pattern methods (**CS0280**). For example, `MoveNext` must take no parameters and return `bool`. If a field or property shadows the method name, rename it so the compiler can find the correct method. + +## Multiple enumerable implementations + +- **CS1640**: *foreach statement cannot operate on variables of type 'type' because it implements multiple instantiations of 'interface'; try casting to a specific interface instantiation* +- **CS8413**: *Asynchronous foreach statement cannot operate on variables of type 'type' because it implements multiple instantiations of 'interface'; try casting to a specific interface instantiation* + +These errors occur when the collection type implements multiple generic instantiations of (**CS1640**) or (**CS8413**), creating ambiguity about which element type to enumerate. + +Cast the collection to a specific interface instantiation before iterating. For example, if a type implements both `IEnumerable` and `IEnumerable`, write `foreach (int i in (IEnumerable)collection)` to select the desired element type. + +## Mismatched `foreach` and `await foreach` + +- **CS8414**: *foreach statement cannot operate on variables of type 'type' because 'type' does not contain a public instance or extension definition for 'member'. Did you mean 'await foreach' rather than 'foreach'?* +- **CS8415**: *Asynchronous foreach statement cannot operate on variables of type 'type' because 'type' does not contain a public instance or extension definition for 'member'. Did you mean 'foreach' rather than 'await foreach'?* +- **CS9353**: *'type' does not contain a definition for 'member' and no accessible extension method 'member' accepting a first argument of type 'type' could be found (did you mean to iterate over the async collection with 'await foreach' instead?)* + +These errors indicate a mismatch between the kind of `foreach` statement and the interfaces the collection type implements. + +Use `await foreach` instead of `foreach` when the collection implements only (**CS8414**, **CS9353**). Async-enumerable types provide `GetAsyncEnumerator` rather than `GetEnumerator`, so you must use `await foreach` in an `async` method to iterate them. + +Use `foreach` instead of `await foreach` when the collection implements only (**CS8415**). Synchronous collections don't provide `GetAsyncEnumerator`, so `await foreach` can't enumerate them. + +## Async iterator method body + +- **CS8419**: *The body of an async-iterator method must contain a 'yield' statement.* +- **CS8420**: *The body of an async-iterator method must contain a 'yield' statement. Consider removing 'async' from the method declaration or adding a 'yield' statement.* + +These errors occur when a method's signature declares it as an async iterator (it's `async` and returns or ) but the body contains no `yield return` or `yield break` statement. + +Add at least one `yield return` statement to the method body to make it a valid async-iterator method. If you didn't intend the method to be an iterator, remove the `async` modifier and change the return type, or return a constructed async enumerable from a different source instead. + +For more information on iterator methods, see [Iterators](../../iterators.md) and [`yield` statement](../statements/yield.md). + +## `EnumeratorCancellation` attribute usage + +- **CS8424**: *The EnumeratorCancellationAttribute applied to parameter 'name' will have no effect. The attribute is only effective on a parameter of type CancellationToken in an async-iterator method returning IAsyncEnumerable* +- **CS8425**: *Async-iterator 'method' has one or more parameters of type 'CancellationToken' but none of them is decorated with the 'EnumeratorCancellation' attribute, so the cancellation token parameter from the generated 'IAsyncEnumerable<>.GetAsyncEnumerator' will be unconsumed* +- **CS8426**: *The attribute [EnumeratorCancellation] cannot be used on multiple parameters* + +These diagnostics relate to the , which connects a parameter to the token supplied by . + +Apply `[EnumeratorCancellation]` only to a parameter of type in an async-iterator method that returns (**CS8424**). The attribute has no effect in any other context, such as non-token parameters, non-iterator methods, or methods returning other types. + +Add the `[EnumeratorCancellation]` attribute to exactly one `CancellationToken` parameter (**CS8425**). Without this attribute, the token provided by callers through `WithCancellation` isn't forwarded to the iterator body. The generated `GetAsyncEnumerator(CancellationToken)` parameter goes unconsumed. + +Apply the attribute to only one parameter, not multiple (**CS8426**). The runtime infrastructure supports forwarding a single cancellation token to the iterator. If you have multiple token parameters, designate only one with the attribute and combine others manually using . diff --git a/docs/csharp/language-reference/toc.yml b/docs/csharp/language-reference/toc.yml index 5c871285af4ec..1654d4c4eb8df 100644 --- a/docs/csharp/language-reference/toc.yml +++ b/docs/csharp/language-reference/toc.yml @@ -495,13 +495,14 @@ items: - name: Feature or version missing href: ./compiler-messages/feature-version-errors.md displayName: > - CS0171, CS0188, CS0843, CS1617, CS1638, CS1738, CS8021, CS8022, CS8023, CS8024, CS8025, CS8026, - CS8058, CS8059, CS8107, CS8192, CS8302, CS8303, CS8304, CS8305, CS8306, CS8314, - CS8320, CS8370, CS8371, CS8400, CS8401, CS8511, CS8627, CS8630, CS8652, CS8701, - CS8702, CS8703, CS8704, CS8706, CS8707, CS8773, CS8830, CS8831, CS8888, CS8889, - CS8890, CS8891, CS8904, CS8912, CS8919, CS8929, CS8936, CS8957, CS8967, CS9014, - CS9015, CS9016, CS9017, CS9041, CS9058, CS9064, CS9103, CS9171, CS9194, CS9202, - CS9204, CS9240, CS9260, CS9268, CS9269, CS9271, CS9327, CS9328, CS9346, CS9352 + CS0171, CS0188, CS0843, CS1617, CS1638, CS1738, CS8021, CS8022, CS8023, CS8024, + CS8025, CS8026, CS8058, CS8059, CS8107, CS8192, CS8302, CS8303, CS8304, CS8305, + CS8306, CS8314, CS8320, CS8370, CS8371, CS8400, CS8401, CS8511, CS8627, CS8630, + CS8652, CS8701, CS8702, CS8703, CS8704, CS8706, CS8707, CS8773, CS8830, CS8831, + CS8888, CS8889, CS8890, CS8891, CS8904, CS8912, CS8919, CS8929, CS8936, CS8957, + CS8967, CS9014, CS9015, CS9016, CS9017, CS9041, CS9058, CS9064, CS9103, CS9171, + CS9194, CS9202, CS9204, CS9240, CS9260, CS9268, CS9269, CS9271, CS9327, CS9328, + CS9346, CS9352 - name: Assembly references href: ./compiler-messages/assembly-references.md displayName: > @@ -622,6 +623,12 @@ items: yield return, yield break, CS1622, CS1624, CS1625, CS1626, CS1627, CS1629, CS1631, CS1637, CS4013, CS8154, CS8176, CS9237, CS9238, CS9239 + - name: foreach statements and async enumerables + href: ./compiler-messages/foreach-diagnostics.md + displayName: > + foreach, await foreach, async enumerable, GetAsyncEnumerator, IAsyncEnumerable, + CS0202, CS0230, CS0278, CS0279, CS0280, CS0446, CS1579, CS1640, CS8186, CS8412, + CS8413, CS8414, CS8415, CS8419, CS8420, CS8424, CS8425, CS8426, CS9353 - name: Extension declarations href: ./compiler-messages/extension-declarations.md displayName: > @@ -687,11 +694,11 @@ items: - name: Lambda expressions href: ./compiler-messages/lambda-expression-errors.md displayName: > - CS0407, CS0428, CS0467, CS0748, CS0815, CS0828, CS0837, CS1065, CS1621, CS1628, CS1632, - CS1643, CS1660, CS1661, CS1662, CS1673, CS1676, CS1677, CS1678, CS1686, CS1688, - CS1706, CS1731, CS1732, CS1764, CS1911, CS1989, CS3006, CS8030, CS8175, CS8820, - CS8821, CS8916, CS8917, CS8934, CS8971, CS8972, CS8974, CS8975, CS9098, CS9099, - CS9100, CS9236 + CS0407, CS0428, CS0467, CS0748, CS0815, CS0828, CS0837, CS1065, CS1621, CS1628, + CS1632, CS1643, CS1660, CS1661, CS1662, CS1673, CS1676, CS1677, CS1678, CS1686, + CS1688, CS1706, CS1731, CS1732, CS1764, CS1911, CS1989, CS3006, CS8030, CS8175, + CS8820, CS8821, CS8916, CS8917, CS8934, CS8971, CS8972, CS8974, CS8975, CS9098, + CS9099, CS9100, CS9236 - name: Delegate and function pointer declarations href: ./compiler-messages/delegate-function-pointer-diagnostics.md displayName: > @@ -715,11 +722,11 @@ items: - name: Using directive and aliases href: ./compiler-messages/using-directive-errors.md displayName: > - CS0104, CS0105, CS0116, CS0138, CS0430, CS0431, CS0432, CS0434, CS0435, CS0436, CS0437, - CS0438, CS0439, CS0440, CS0518, CS0576, CS0687, CS1022, CS1529, - CS1537, CS1671, CS1679, CS1680, CS1681, CS1730, CS2034, CS7000, CS7007, CS7015, - CS7021, CS8019, CS8020, CS8083, CS8085, CS8914, CS8915, CS8933, CS8954, CS8955, CS8956, CS9130, - CS9131, CS9132, CS9133, CS9162 + CS0104, CS0105, CS0116, CS0138, CS0430, CS0431, CS0432, CS0434, CS0435, CS0436, + CS0437, CS0438, CS0439, CS0440, CS0518, CS0576, CS0687, CS1022, CS1529, CS1537, + CS1671, CS1679, CS1680, CS1681, CS1730, CS2034, CS7000, CS7007, CS7015, CS7021, + CS8019, CS8020, CS8083, CS8085, CS8914, CS8915, CS8933, CS8954, CS8955, CS8956, + CS9130, CS9131, CS9132, CS9133, CS9162 - name: Using statements and declarations href: ./compiler-messages/using-statement-declaration-errors.md displayName: > @@ -976,12 +983,8 @@ items: href: ../misc/cs0191.md - name: CS0198 href: ../misc/cs0198.md - - name: CS0200 - href: ./compiler-messages/property-declaration-errors.md - name: CS0201 href: ./compiler-messages/cs0201.md - - name: CS0202 - href: ../misc/cs0202.md - name: CS0204 href: ../misc/cs0204.md - name: CS0205 @@ -992,8 +995,6 @@ items: href: ../misc/cs0228.md - name: CS0229 href: ./compiler-messages/cs0229.md - - name: CS0230 - href: ../misc/cs0230.md - name: CS0236 href: ../misc/cs0236.md - name: CS0238 @@ -1042,14 +1043,10 @@ items: href: ../misc/cs0443.md - name: CS0445 href: ./compiler-messages/cs0445.md - - name: CS0446 - href: ./compiler-messages/cs0446.md - name: CS0462 href: ../misc/cs0462.md - name: CS0468 href: ../misc/cs0468.md - - name: CS0470 - href: ./compiler-messages/interface-implementation-errors.md - name: CS0471 href: ../misc/cs0471.md - name: CS0500 @@ -1092,26 +1089,14 @@ items: href: ../misc/cs0534.md - name: CS0537 href: ../misc/cs0537.md - - name: CS0538 - href: ./compiler-messages/interface-implementation-errors.md - - name: CS0539 - href: ./compiler-messages/interface-implementation-errors.md - - name: CS0541 - href: ./compiler-messages/interface-implementation-errors.md - name: CS0542 href: ../misc/cs0542.md - - name: CS0545 - href: ./compiler-messages/property-declaration-errors.md - name: CS0549 href: ../misc/cs0549.md - - name: CS0551 - href: ./compiler-messages/interface-implementation-errors.md - name: CS0569 href: ../misc/cs0569.md - name: CS0570 href: ./compiler-messages/cs0570.md - - name: CS0571 - href: ./compiler-messages/property-declaration-errors.md - name: CS0572 href: ../misc/cs0572.md - name: CS0574 @@ -1248,8 +1233,6 @@ items: href: ../misc/cs0833.md - name: CS0836 href: ../misc/cs0836.md - - name: CS0840 - href: ./compiler-messages/property-declaration-errors.md - name: CS0841 href: ../misc/cs0841.md - name: CS0842 @@ -1270,8 +1253,6 @@ items: href: ../misc/cs1010.md - name: CS1013 href: ../misc/cs1013.md - - name: CS1014 - href: ./compiler-messages/property-declaration-errors.md - name: CS1015 href: ../misc/cs1015.md - name: CS1017 @@ -1292,8 +1273,6 @@ items: href: ../misc/cs1036.md - name: CS1041 href: ../misc/cs1041.md - - name: CS1043 - href: ./compiler-messages/property-declaration-errors.md - name: CS1044 href: ../misc/cs1044.md - name: CS1055 @@ -1386,8 +1365,6 @@ items: href: ../misc/cs1575.md - name: CS1577 href: ../misc/cs1577.md - - name: CS1579 - href: ./compiler-messages/cs1579.md - name: CS1583 href: ../misc/cs1583.md - name: CS1585 @@ -1422,12 +1399,8 @@ items: href: ../misc/cs1620.md - name: CS1630 href: ../misc/cs1630.md - - name: CS1637 - href: ./compiler-messages/iterator-yield.md - name: CS1639 href: ../misc/cs1639.md - - name: CS1640 - href: ./compiler-messages/cs1640.md - name: CS1644 href: ./compiler-messages/cs1644.md - name: CS1646 @@ -1646,8 +1619,6 @@ items: href: ./compiler-messages/cs8355.md - name: CS8422 href: ./compiler-messages/cs8422.md - - name: CS9036 - href: ./compiler-messages/property-declaration-errors.md - name: CS9043 href: ./compiler-messages/cs9043.md - name: Level 1 warning messages @@ -1796,12 +1767,6 @@ items: href: ../misc/cs0252.md - name: CS0253 href: ../misc/cs0253.md - - name: CS0278 - href: ../misc/cs0278.md - - name: CS0279 - href: ../misc/cs0279.md - - name: CS0280 - href: ../misc/cs0280.md - name: CS0444 href: ../misc/cs0444.md - name: CS0458 diff --git a/docs/csharp/misc/cs0202.md b/docs/csharp/misc/cs0202.md deleted file mode 100644 index 4ba035827d1e6..0000000000000 --- a/docs/csharp/misc/cs0202.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -description: "Compiler Error CS0202" -title: "Compiler Error CS0202" -ms.date: 07/20/2015 -f1_keywords: - - "CS0202" -helpviewer_keywords: - - "CS0202" -ms.assetid: 7088850f-c206-4b95-9586-a0fa3d876c0c ---- -# Compiler Error CS0202 - -foreach requires that the return type 'type' of 'type.GetEnumerator()' must have a suitable public MoveNext method and public Current property - - A function, used to enable the use of foreach statements, cannot return a pointer or array; it must return an instance of a class that is able to act as an enumerator. The proper requirements to serve as an enumerator include a public Current property and a public MoveNext method. - -> [!NOTE] -> In C# 2.0, the compiler will automatically generate Current and MoveNext for you. For more information, see the code example in [Generic Interfaces](../programming-guide/generics/generic-interfaces.md). - - The following sample generates CS0202: - -```csharp -// CS0202.cs - -public class C1 -{ - public int Current - { - get - { - return 0; - } - } - - public bool MoveNext () - { - return false; - } - - public static implicit operator C1 (int c1) - { - return 0; - } -} - -public class C2 -{ - public int Current - { - get - { - return 0; - } - } - - public bool MoveNext () - { - return false; - } - - public C1[] GetEnumerator () - // try the following line instead - // public C1 GetEnumerator () - { - return null; - } -} - -public class MainClass -{ - public static void Main () - { - C2 c2 = new C2(); - - foreach (C1 x in c2) // CS0202 - { - System.Console.WriteLine(x.Current); - } - } -} -``` diff --git a/docs/csharp/misc/cs0230.md b/docs/csharp/misc/cs0230.md deleted file mode 100644 index 91f3a82660a7e..0000000000000 --- a/docs/csharp/misc/cs0230.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -description: "Compiler Error CS0230" -title: "Compiler Error CS0230" -ms.date: 07/20/2015 -f1_keywords: - - "CS0230" -helpviewer_keywords: - - "CS0230" -ms.assetid: 132e4623-d393-4a5f-a3f8-838a1bfbd1b3 ---- -# Compiler Error CS0230 - -Type and identifier are both required in a foreach statement - - A [foreach](../language-reference/statements/iteration-statements.md#the-foreach-statement) statement was poorly formed. - - The following sample generates CS0230: - -```csharp -// CS0230.cs -class MyClass -{ - public static void Main() - { - int[] myarray = new int[3] {1,2,3}; - - foreach (int in myarray) // CS0230 - { - Console.WriteLine(x); - } - } -} -``` - -and the sample below presents the same code, but with no CS0230 error: - -```csharp -class MyClass -{ - public static void Main() - { - int[] myarray = new int[3] {1,2,3}; - - foreach (int x in myarray) // Both type (int) and indentifier (x) are specified - { - Console.WriteLine(x); - } - } -} -``` diff --git a/docs/csharp/misc/cs0278.md b/docs/csharp/misc/cs0278.md deleted file mode 100644 index 29c4433b33b33..0000000000000 --- a/docs/csharp/misc/cs0278.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -description: "Compiler Warning (level 2) CS0278" -title: "Compiler Warning (level 2) CS0278" -ms.date: 07/20/2015 -f1_keywords: - - "CS0278" -helpviewer_keywords: - - "CS0278" -ms.assetid: 5418cbbe-bcec-4379-a6f6-410987beb96a ---- -# Compiler Warning (level 2) CS0278 - -'type' does not implement the 'pattern name' pattern. 'method name' is ambiguous with 'method name'. - -There are several statements in C# that rely on defined patterns, such as `foreach` and `using`. For example, the [`foreach` statement](../language-reference/statements/iteration-statements.md#the-foreach-statement) relies on the collection class implementing the "enumerable" pattern. - -CS0278 can occur if the compiler is unable to make the match due to ambiguities. For example, the "enumerable" pattern requires that there be a method called `MoveNext`, and your code might contain two methods called `MoveNext`. The compiler will attempt to find an interface to use, but it is recommended that you determine and resolve the cause of the ambiguity. - -## Example - - The following sample generates CS0278. - -```csharp -// CS0278.cs -using System.Collections.Generic; -public class myTest -{ - public static void TestForeach(W w) - where W: IEnumerable, IEnumerable - { - foreach (int i in w) {} // CS0278 - } -} -``` diff --git a/docs/csharp/misc/cs0279.md b/docs/csharp/misc/cs0279.md deleted file mode 100644 index 1219abfbd4d64..0000000000000 --- a/docs/csharp/misc/cs0279.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -description: "Compiler Warning (level 2) CS0279" -title: "Compiler Warning (level 2) CS0279" -ms.date: 07/20/2015 -f1_keywords: - - "CS0279" -helpviewer_keywords: - - "CS0279" -ms.assetid: 5e5faa8f-3d5b-4999-aa62-ff7f131a3e04 ---- -# Compiler Warning (level 2) CS0279 - -'type name' does not implement the 'pattern name' pattern. 'method name' is either static or not public. - - There are several statements in C# that rely on defined patterns, such as `foreach` and `using`. For example, `foreach` relies on the collection class implementing the enumerable pattern. This error occurs when the compiler is unable to make the match due to a method being declared `static` or not `public`. Methods in patterns are required to be instances of classes, and to be public. - -## Example - - The following example generates CS0279: - -```csharp -// CS0279.cs - -using System; -using System.Collections; - -public class myTest : IEnumerable -{ - IEnumerator IEnumerable.GetEnumerator() - { - yield return 0; - } - - internal IEnumerator GetEnumerator() - { - yield return 0; - } - - public static void Main() - { - foreach (int i in new myTest()) {} // CS0279 - } -} -``` diff --git a/docs/csharp/misc/cs0280.md b/docs/csharp/misc/cs0280.md deleted file mode 100644 index 3b2cf791395b1..0000000000000 --- a/docs/csharp/misc/cs0280.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -description: "Compiler Warning (level 2) CS0280" -title: "Compiler Warning (level 2) CS0280" -ms.date: 07/20/2015 -f1_keywords: - - "CS0280" -helpviewer_keywords: - - "CS0280" -ms.assetid: 9b453478-92aa-4fd2-9b87-780fd138603a ---- -# Compiler Warning (level 2) CS0280 - -'type' does not implement the 'pattern name' pattern. 'method name' has the wrong signature. - - Two statements in C#, **foreach** and **using**, rely on predefined patterns, "collection" and "resource" respectively. This warning occurs when the compiler cannot match one of these statements to its pattern due to a method's incorrect signature. For example, the "collection" pattern requires that there be a method called which takes no parameters and returns a `boolean`. Your code might contain a method that has a parameter or perhaps returns an object. - - The "resource" pattern and `using` provide another example. The "resource" pattern requires the method; if you define a property with the same name, you will get this warning. - - To resolve this warning, ensure that the method signatures in your type match the signatures of the corresponding methods in the pattern, and ensure that you have no properties with the same name as a method required by the pattern. - -## Example - - The following sample generates CS0280. - -```csharp -// CS0280.cs -using System; -using System.Collections; - -public class ValidBase: IEnumerable -{ - IEnumerator IEnumerable.GetEnumerator() - { - yield return 0; - } - - internal IEnumerator GetEnumerator() - { - yield return 0; - } -} - -class Derived : ValidBase -{ - // field, not method - new public int GetEnumerator; -} - -public class Test -{ - public static void Main() - { - foreach (int i in new Derived()) {} // CS0280 - } -} -``` diff --git a/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md b/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md index 9c6218dedcd3b..4ea353a2ab2cd 100644 --- a/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md +++ b/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md @@ -178,7 +178,6 @@ f1_keywords: - "CS8183" - "CS8184" - "CS8185" - - "CS8186" - "CS8187" - "CS8188" - "CS8189" @@ -225,21 +224,10 @@ f1_keywords: - "CS8383" - "CS8384" # C# 8.0 diagnostics - ## Async enumerables - - "CS8412" - - "CS8413" - - "CS8414" - - "CS8415" - - "CS8419" - - "CS8420" ## Static local functions - "CS8421" ## Attributes - "CS8423" - ## More async enumerators - - "CS8424" - - "CS8425" - - "CS8426" ## Index and range - "CS8428" - "CS8429" @@ -262,7 +250,6 @@ f1_keywords: - "CS9349" - "CS9350" - "CS9351" - - "CS9353" # Collection arguments: - "CS9354" - "CS9355" From aa0ee5bdfc24b6e34e338b9f05123057ce9fa316 Mon Sep 17 00:00:00 2001 From: Azat Mukhametshin Date: Wed, 15 Jul 2026 22:59:14 +0200 Subject: [PATCH 021/120] Merge VSTest cross-reference fixes from PR #2 Fold complementary changes from #2 into this PR: --diag tracelevel sub-option, TestRunParameters command-line support with RunSettings precedence, corrected filter property table (xUnit Traits, NUnit TestCategory/Category/Property) with a trait/property mapping note, and the RunSettingsArguments repo link fix. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c46887ab-e194-4295-9afd-01a25c405c76 --- docs/core/tools/dotnet-test-vstest.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/core/tools/dotnet-test-vstest.md b/docs/core/tools/dotnet-test-vstest.md index f3533efa774e6..36c0d51501bcf 100644 --- a/docs/core/tools/dotnet-test-vstest.md +++ b/docs/core/tools/dotnet-test-vstest.md @@ -1,7 +1,7 @@ --- title: dotnet test command with VSTest description: The dotnet test command is used to execute unit tests in a given project using VSTest. -ms.date: 12/29/2024 +ms.date: 07/15/2026 ai-usage: ai-assisted --- # dotnet test with VSTest @@ -180,6 +180,8 @@ Where `Microsoft.NET.Test.Sdk` is the test host, `xunit` is the test framework. Enables diagnostic mode for the test platform and writes diagnostic messages to the specified file and to files next to it. The process that is logging the messages determines which files are created, such as `*.host_.txt` for test host log, and `*.datacollector_.txt` for data collector log. + To set the trace level, append `;tracelevel=` to the log file name, for example `--diag:log.txt;tracelevel=verbose`. The allowed values for `tracelevel` are `off`, `error`, `warning`, `info`, and `verbose`. The default value is `verbose`. + - [!INCLUDE [disable-build-servers](includes/cli-disable-build-servers.md)] - **`-e|--environment `** @@ -274,7 +276,9 @@ Where `Microsoft.NET.Test.Sdk` is the test host, `xunit` is the test framework. Example: `dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True` - For more information, see [Passing RunSettings arguments through command line](https://github.com/Microsoft/vstest-docs/blob/main/docs/RunSettingsArguments.md). + Starting with the .NET 5 SDK, you can also set `TestRunParameters` from the command line, for example: `dotnet test -- TestRunParameters.Parameter(name="myParam", value="value")`. `RunSettings` arguments take precedence over values from a `.runsettings` file. + + For more information, see [Passing RunSettings arguments through command line](https://github.com/microsoft/vstest/blob/main/docs/RunSettingsArguments.md). ## Examples @@ -377,8 +381,10 @@ Where `Microsoft.NET.Test.Sdk` is the test host, `xunit` is the test framework. | Test Framework | Supported properties | | -------------- | --------------------------------------------------------------------------------------------------------- | | MSTest |
  • FullyQualifiedName
  • Name
  • ClassName
  • Priority
  • TestCategory
| -| xUnit |
  • FullyQualifiedName
  • DisplayName
  • Category
| -| NUnit |
  • FullyQualifiedName
  • Name
  • Category
  • Priority
| +| xUnit |
  • FullyQualifiedName
  • DisplayName
  • Traits
| +| NUnit |
  • FullyQualifiedName
  • Name
  • Priority
  • TestCategory
  • Category
  • Property
| + +For xUnit, a trait defined with `[Trait("key", "value")]` is filtered by its key (for example, `[Trait("Category", "bvt")]` is matched with `--filter Category=bvt`). For NUnit, `TestCategory` and `Category` are equivalent, and a property defined with `[Property("key", "value")]` is filtered by its key. The `` describes the relationship between the property and the value: From 7976fc74ed444c58d0d04432969e962856f5fe08 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Thu, 16 Jul 2026 09:29:20 -0400 Subject: [PATCH 022/120] Correct Snap alias and symlink commands for .NET 10 SDK on Ubuntu 24.04.3 (#54806) * Initial plan * Fix Snap alias and symlink commands for .NET 10 SDK docs * Revise Snap SDK doc for versioned packages and command mapping * docs: remove misleading snap runtime targeting statement * docs: remove --classic from snap SDK install command * Revise installation instructions for .NET SDK on Linux Updated the installation date and modified instructions for clarity regarding the .NET SDK snap package installation. Added a note about substituting the package version in commands. * Remove linux-release-wait include from SDK install Removed the linux-release-wait include from the installation instructions. * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Add symbolic link instructions for dotnet command Added instructions for creating a symbolic link for dotnet. * Add mixed-install warning to intro and symlink scope note in section 2 * Fix gerund phrase in section 2 symlink scope note --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- docs/core/install/linux-snap-sdk.md | 108 +++++++++------------------- 1 file changed, 33 insertions(+), 75 deletions(-) diff --git a/docs/core/install/linux-snap-sdk.md b/docs/core/install/linux-snap-sdk.md index b781041c1480a..ad3949fbf837c 100644 --- a/docs/core/install/linux-snap-sdk.md +++ b/docs/core/install/linux-snap-sdk.md @@ -3,7 +3,7 @@ title: Install .NET SDK on Linux with Snap description: Learn about how to install the .NET SDK snap package. Canonical maintains and supports .NET-related snap packages. author: adegeo ms.author: adegeo -ms.date: 04/23/2026 +ms.date: 07/15/2026 ms.topic: install-set-up-deploy ms.custom: linux-related-content, updateeachrelease ai-usage: ai-assisted @@ -16,6 +16,9 @@ This article describes how to install the .NET SDK snap package. .NET SDK snap p A snap is a bundle of an app and its dependencies that works across many different Linux distributions. Snaps are discoverable and installable from the Snap Store. For more information about Snap, see [Get started](https://snapcraft.io/docs/tutorials/get-started/#tutorials-get-started). +> [!IMPORTANT] +> If you install .NET with Snap, use Snap to manage all your .NET installations. Avoid mixing Snap with other installation methods, such as a package manager or the scripted install, because mixing methods can cause conflicts. + > [!CAUTION] > Snap installations of .NET may have problems running [.NET tools](../tools/global-tools.md). If you wish to use .NET tools, we recommend that you install .NET using the [`dotnet-install` script](linux-scripted-manual.md#scripted-install) or the package manager for the particular Linux distribution. > @@ -36,60 +39,48 @@ Your Linux distribution might already include snap. Try running `snap` from a te ## 1. Install the SDK -[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)] - -Starting with .NET 9, snap packages for the .NET SDK are published under version-specific identifiers (for example, `dotnet-sdk-90` for .NET 9 and `dotnet-sdk-100` for .NET 10). Prior to .NET 9, all SDK versions were published under the same identifier `dotnet-sdk`, and you specified the version through a channel. Additionally, .NET 9 and later snap packages support both x64 and Arm64 architectures, while earlier versions only support x64. The SDK includes both the ASP.NET Core and .NET runtime, versioned to the SDK. +To install the .NET SDK, use version-specific snap package identifiers because this approach lets you install and manage multiple SDK versions side by side. For example, use `dotnet-sdk-80` for .NET 8 and `dotnet-sdk-100` for .NET 10. The SDK includes both the ASP.NET Core and .NET runtime, versioned to the SDK. This article uses the .NET 10 SDK snap package; if you're using a different package, substitute it. > [!TIP] -> The [Snapcraft .NET SDK package page](https://snapcraft.io/dotnet-sdk) ([.NET 9](https://snapcraft.io/dotnet-sdk-90), [.NET 10](https://snapcraft.io/dotnet-sdk-100)) includes distribution-specific instructions on how to install Snapcraft and .NET. +> The Snapcraft .NET SDK package page ([.NET 8](https://snapcraft.io/dotnet-sdk-80), [.NET 9](https://snapcraft.io/dotnet-sdk-90), [.NET 10](https://snapcraft.io/dotnet-sdk-100)) includes distribution-specific instructions on how to install Snapcraft and .NET. 01. Open a terminal. 01. Use `snap install` to install the .NET SDK snap package. - The `--classic` parameter is required. - - - **For .NET 9 and later** - - Install the version-specific package. For example, the following command installs .NET SDK 10: - - ```bash - sudo snap install dotnet-sdk-100 --classic - ``` + The following command installs .NET SDK 10: - - **For .NET 8 and earlier** - - Install from the `dotnet-sdk` package and specify a channel. If this parameter is omitted, `latest/stable` is used. For example, the following command installs .NET SDK 8: - - ```bash - sudo snap install dotnet-sdk --classic --channel 8.0/stable - ``` - -The `dotnet` snap alias is automatically created and mapped to the snap package's `dotnet` command. + ```bash + sudo snap install dotnet-sdk-100 + ``` -The following table lists the snap packages and channels you can install: +The following table lists the .NET SDK snap packages you can install: -| .NET version | Snap package or channel | -|--------------|----------------------------------------| -| 10 (LTS) | `dotnet-sdk-100` (preview) | -| 9 (STS) | `dotnet-sdk-90` | -| 8 (LTS) | `dotnet-sdk --channel 8.0/stable` | +| .NET version | Snap package | +|--------------|------------------| +| 10 (LTS) | `dotnet-sdk-100` | +| 9 (STS) | `dotnet-sdk-90` | +| 8 (LTS) | `dotnet-sdk-80` | -## 2. Export the install location +## 2. Map the dotnet command -The `DOTNET_ROOT` environment variable is often used by tools to determine where .NET is installed. When .NET is installed through Snap, this environment variable isn't configured. You should configure the *DOTNET_ROOT* environment variable in your profile. The path to the snap uses the following format: `/snap/{package}/current`. +Because Snap doesn't create an unversioned `dotnet` command, create a symbolic link to make `dotnet` available system-wide. Create this link only if you want to map the `dotnet` command to this specific Snap installation. If you already have .NET installed through another method and you create this link, it overwrites that mapping. -For .NET 9 and later, use the version-specific package name: +If `/usr/local/bin/dotnet` already exists, remove it before you create the link. ```bash -export DOTNET_ROOT=/snap/dotnet-sdk-100/current +sudo ln -s /snap/dotnet-sdk-100/current/usr/bin/dotnet /usr/local/bin/dotnet ``` -For .NET 8 and earlier, use the shared package name: +## 3. Export the install location + +Configure the `DOTNET_ROOT` environment variable in your shell profile because tools use it to determine where .NET is installed. Snap installations don't set this variable automatically. The path uses the following format: `/snap/{package}/current/usr/lib/dotnet`. ```bash -export DOTNET_ROOT=/snap/dotnet-sdk/current +export DOTNET_ROOT=/snap/dotnet-sdk-100/current/usr/lib/dotnet ``` +Replace `100` with the SDK version you installed, such as `80` for .NET 8 or `90` for .NET 9. + ### Export the environment variable permanently The preceding `export` command only sets the environment variable for the terminal session in which it was run. @@ -100,11 +91,13 @@ You can edit your shell profile to permanently add the commands. There are many - **Korn Shell**: _~/.kshrc_ or _.profile_ - **Z Shell**: _~/.zshrc* or _.zprofile_ -Edit the appropriate source file for your shell and add the export command for your installed .NET version. For .NET 9+, use `export DOTNET_ROOT=/snap/dotnet-sdk-100/current` (adjust the version number as needed). For .NET 8 and earlier, use `export DOTNET_ROOT=/snap/dotnet-sdk/current`. +Edit the appropriate source file for your shell, add the export command for your installed .NET version, and save your changes. + +For example: `export DOTNET_ROOT=/snap/dotnet-sdk-100/current/usr/lib/dotnet`. -## 3. Use the .NET CLI +## 4. Use the .NET CLI -Open a terminal and type `dotnet`. +Open a terminal and run the `dotnet` command. ```dotnetcli dotnet @@ -130,27 +123,10 @@ To learn how to use the .NET CLI, see [.NET CLI overview](../tools/index.md). ## Troubleshooting -- [The dotnet terminal command doesn't work](#the-dotnet-terminal-command-doesnt-work) - [Can't install Snap on WSL2](#cant-install-snap-on-wsl2) - [Can't resolve the dotnet command or SDK](#cant-resolve-the-dotnet-command-or-sdk) - [TLS/SSL Certificate errors](#tlsssl-certificate-errors) -### The dotnet terminal command doesn't work - -Snap packages can map an alias to a command provided by the package. By default, the .NET SDK snap packages create an alias for the `dotnet` command. If the alias wasn't created or was previously removed, use the following command to map the alias. - -For .NET 9 and later: - -```bash -sudo snap alias dotnet-sdk-100.dotnet dotnet -``` - -For .NET 8 and earlier: - -```bash -sudo snap alias dotnet-sdk.dotnet dotnet -``` - ### Can't install Snap on WSL2 `systemd` must be enabled on the WSL2 instance before Snap can be installed. @@ -175,26 +151,8 @@ It's common for other apps, such as a code IDE or an extension in Visual Studio Try the following steps to fix the issue: -01. Making sure that you [export the `DOTNET_ROOT` environment variable permanently](#export-the-environment-variable-permanently). - -01. Try to symbolic link the snap `dotnet` executable to the location that the program is looking for. - - Two common paths the `dotnet` command is looking for are: - - - `/usr/local/bin/dotnet` - - `/usr/share/dotnet` - - Use the following command to create a symbolic link to the snap package. For .NET 9 and later, use the version-specific package name: - - ```bash - ln -s /snap/dotnet-sdk-100/current/dotnet /usr/local/bin/dotnet - ``` - - For .NET 8 and earlier: - - ```bash - ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet - ``` +01. Complete [2. Map the dotnet command](#2-map-the-dotnet-command). +01. Set the `DOTNET_ROOT` environment variable permanently by following [Export the environment variable permanently](#export-the-environment-variable-permanently). ### TLS/SSL Certificate errors From 7388855d47b5e860c35f897030b28da64f9cb66c Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 16 Jul 2026 09:35:37 -0400 Subject: [PATCH 023/120] Add C# 15 extension indexers to extension members tutorial (#54802) * Add C# 15 extension indexers to extension members tutorial Update the extension members tutorial to cover the C# 15 addition of extension indexers. Reframe the tutorial for C# 14 and C# 15, bump the sample to .NET 11 preview with LangVersion preview, and add an "Add extension indexers" section. The new section introduces a Path type that stores (dX, dY) offsets and adds an extension indexer whose getter computes the absolute Point at an index (from Point.Origin) and whose setter adjusts the offset at that index. Build and run verified on the .NET 11 preview SDK. Closes #54658 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7fb88c54-e7d1-47af-b8f2-d60b34e50426 * Proofread and update Proofread the article, update the text description and edit for style. * Show ValidatePathIndex helper in the indexer snippet Extend the PathIndexer snippet region to include the private ValidatePathIndex helper the accessors call, so readers see the complete code. Add a sentence noting the shared helper. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7fb88c54-e7d1-47af-b8f2-d60b34e50426 --- .../whats-new/tutorials/extension-members.md | 87 +++++++++++++------ .../ExtensionMemberDemonstrations.cs | 23 ++++- .../PointExtensions/NewExtensionsMembers.cs | 48 +++++++++- .../snippets/PointExtensions/Path.cs | 20 +++++ .../PointExtensions/PointExtensions.csproj | 3 +- 5 files changed, 151 insertions(+), 30 deletions(-) create mode 100644 docs/csharp/whats-new/tutorials/snippets/PointExtensions/Path.cs diff --git a/docs/csharp/whats-new/tutorials/extension-members.md b/docs/csharp/whats-new/tutorials/extension-members.md index 539ba6d78d29f..f312cdfcbe00f 100644 --- a/docs/csharp/whats-new/tutorials/extension-members.md +++ b/docs/csharp/whats-new/tutorials/extension-members.md @@ -1,45 +1,51 @@ --- -title: Explore extension members in C# 14 to enhance existing types -description: "C# 14 provides new syntax for extensions that support properties and operators, and enables extensions on a type as well as an instance. Learn to use them, and how to migrate existing extension methods to extension members" +title: Explore extension members in C# 14 and C# 15 to enhance existing types +description: "C# 14 extension members add properties and operators to existing types. C# 15 extension indexers add indexed access. Learn both with runnable Point and Path examples." author: billwagner ms.author: wiwagn ms.service: dotnet-csharp ms.topic: tutorial -ms.date: 10/06/2025 +ms.date: 07/15/2026 ai-usage: ai-assisted #customer intent: As a C# developer, I reduce repeated code by introducing extension members for common tasks --- -# Tutorial: Explore extension members in C# 14 +# Tutorial: Explore extension members in C# 14 and C# 15 -C# 14 introduces extension members, an enhancement to the existing extension methods. Extension members enable you to add properties and operators. You can also extend types in addition to instances of types. This capability allows you to create more natural and expressive APIs when extending types you don't control. +C# 14 introduced extension members, an enhancement to the existing extension methods. Extension members enable you to add properties and operators. You can also extend types as well as instances of types. C# 15 adds extension indexers, so an existing type can support indexed access from an extension block. -In this tutorial, you explore extension members by enhancing the `System.Drawing.Point` type with mathematical operations, coordinate transformations, and utility properties. You learn how to migrate existing extension methods to the new extension member syntax and understand when to use each approach. +In this tutorial, you explore extension members by enhancing the `System.Drawing.Point` type with mathematical operations, coordinate transformations, and utility properties. Then you add indexed access to a `Path` type that stores point-to-point offsets. You learn how to migrate existing extension methods to the new extension member syntax and when each approach fits. In this tutorial, you: > [!div class="checklist"] > -> * Create extension members with static properties and operators. +> * Create C# 14 extension members with static properties and operators. > * Implement coordinate transformations using extension members. > * Migrate traditional extension methods to extension member syntax. +> * Add a C# 15 extension indexer that reads and updates absolute points in a path. > * Compare extension members with traditional extension methods. ## Prerequisites -- The .NET 10 SDK. Download it from the [.NET download site](https://dotnet.microsoft.com/download/dotnet/10.0). -- Visual Studio 2026. Download it from the [Visual Studio page](https://visualstudio.microsoft.com). +- The .NET 11 preview SDK. Download it from the [.NET download site](https://dotnet.microsoft.com/download/dotnet/11.0). +- Visual Studio 2026 with preview features enabled. Download it from the [Visual Studio page](https://visualstudio.microsoft.com). +- This sample sets `preview` because extension indexers are a C# 15 preview feature. ## Create the sample application -Start by creating a console application that demonstrates both traditional extension methods and the new extension members syntax. You'll create extensions for the type. This type comes from the `System.Drawing` namespace and is typically used in Windows Forms applications. +Start by creating a console application that demonstrates both traditional extension methods and the new extension members syntax. You create extensions for the type. This type comes from the `System.Drawing` namespace and is typically used in Windows Forms applications. -1. Create a new console application: +1. Create a new console application. ```dotnetcli dotnet new console -n PointExtensions cd PointExtensions ``` +1. Update the project file so the sample targets .NET 11 and uses preview language features: + + :::code language="xml" source="snippets/PointExtensions/PointExtensions.csproj"::: + 1. Copy the following code into a new file named `ExtensionMethods.cs`: :::code language="csharp" source="snippets/PointExtensions/ExtensionMethods.cs"::: @@ -95,11 +101,11 @@ Next, examine the following code that performs arithmetic with points: :::code language="csharp" source="snippets/PointExtensions/IncludedElements.cs" id="PointArithmetic"::: -Traditional extension methods can't add operators to existing types. You must implement arithmetic operations manually, making the code verbose and harder to read. The algorithm gets duplicated whenever the operation is needed, which creates more opportunities for small mistakes to enter the code base. It's better to place that code in one location. Add the following operators to your extension block in `NewExtensionsMembers.cs`: +Traditional extension methods can't add operators to existing types. You must implement arithmetic operations manually, which makes the code verbose and harder to read. The algorithm gets duplicated whenever you need the operation, which creates more opportunities for small mistakes to enter the code base. It's better to place that code in one location. Add the following operators to your extension block in `NewExtensionsMembers.cs`: :::code language="csharp" source="snippets/PointExtensions/NewExtensionsMembers.cs" id="ArithmeticOperators"::: -Extension members enable you to add operators directly to existing types. Now you can perform arithmetic operations using natural syntax: +By using extension members, you can add operators directly to existing types. Now you can perform arithmetic operations by using natural syntax: :::code language="csharp" source="snippets/PointExtensions/ExtensionMemberDemonstrations.cs" id="PointArithmeticWithOperators"::: @@ -135,27 +141,49 @@ Extension members use a different syntax but provide the same functionality. Add :::code language="csharp" source="snippets/PointExtensions/NewExtensionsMembers.cs" id="TransformationMethods"::: -The preceding code doesn't compile yet. It's the first extension you wrote that extends an *instance* of the `Point` class, instead of the type itself. To support instance extensions, your extension block needs to name the receiver parameter. Edit the following line: +These methods extend an instance of the `Point` struct, not the `Point` type. The extension block names the receiver parameter so the method body can read that point. The sample uses `extension(ref Point point)` because `Translate`, `Scale`, and `Rotate` change the caller's `Point`. Without `ref`, those methods would update a copy of the struct, and the caller wouldn't see the change. -```csharp - extension (Point) -``` +You can call these new instance methods exactly as you accessed traditional extension methods: + +:::code language="csharp" source="snippets/PointExtensions/ExtensionMemberDemonstrations.cs" id="InstanceMethods"::: -So that it gives a name to the `Point` instance: +The key difference is syntax: extension members use `extension (Type variableName)` instead of `this Type variableName`. -```csharp - extension (Point point) -``` +## Add extension indexers -Now, the code compiles. You can call these new instance methods exactly as you accessed traditional extension methods: +C# 15 adds indexers to `extension` blocks. An indexer has no name. Code accesses it with `this[...]` in the declaration and with indexed syntax at the call site. -:::code language="csharp" source="snippets/PointExtensions/ExtensionMemberDemonstrations.cs" id="InstanceMethods"::: +Imagine a path type that stores each step as a relative offset. When you ask for `path[i]`, you want the absolute point at that step. When you assign `path[i] = target`, you want the type to update the one offset that gets you there. Indexed access reads like "the point at this step" and keeps the offset-to-point math in one place. -The key difference is syntax: extension members use `extension (Type variableName)` instead of `this Type variableName`. +Imagine that `Path` came from a library. If you don't own the type, you can't add an indexer to its source. Before C# 15, you could add methods, but you couldn't add `this[...]` indexed access to a type you don't control. This tutorial defines `Path` so the sample is runnable; think of it as standing in for that library type. + +For this section, add a `Path` type. The type stores a sequence of `(dX, dY)` offsets. Each offset says how far to move from the previous point. The first offset starts at `Point.Origin`, the static extension property you added earlier. + +Create a new file named `Path.cs` in the same project as the other sample files. Add the `Path` type to the `ExtensionMembers` namespace in that file. Keeping `Path` in this namespace makes it your sample type, not . The demo file uses a `using Path = ExtensionMembers.Path;` alias, so every `Path` in the demo means the sample path type. + +:::code language="csharp" source="snippets/PointExtensions/Path.cs" id="PathType"::: + +Now add an indexer for `Path`. Put this code in the existing `PointExtensions` static class in `NewExtensionsMembers.cs`. Add it as a new `extension(Path path)` block, separate from the `extension(Point)` block for static members and operators and separate from the `extension(ref Point point)` block for instance methods: + +:::code language="csharp" source="snippets/PointExtensions/NewExtensionsMembers.cs" id="PathIndexer"::: + +Indexers are always instance members, so this new extension block must name the receiver: `extension(Path path)`. A block written as `extension(Path)` wouldn't provide a `path` variable for the indexer body. + +`Path` is a class that owns a list of offsets. The indexer doesn't need a `ref` receiver because the setter changes the contents of that existing `Path` object. + +The getter starts at `Point.Origin`, then adds the offsets from index `0` through the requested index. With offsets `(2, 3)`, `(1, 1)`, and `(-1, 4)`, the absolute points are `(2, 3)`, `(3, 4)`, and `(2, 8)`. + +The setter receives a target absolute point. It leaves earlier offsets alone and changes only the offset at the requested index. The new offset is the target point minus the absolute point at the previous index. Later points shift because they remain relative to the changed offset. + +Now, use the indexer to read and write points along the path: + +:::code language="csharp" source="snippets/PointExtensions/ExtensionMemberDemonstrations.cs" id="PathIndexerUse"::: + +Both accessors share a small private `ValidatePathIndex` helper in the same `PointExtensions` class that bounds-checks the index and throws when it doesn't refer to an offset in the path. ## Completed sample -The final example shows the advantages when you combine static properties, operators, and instance methods to create comprehensive type extensions. +The final example shows the advantages when you combine static properties, operators, instance methods, and an indexer to create comprehensive type extensions. Compare the extension member version: @@ -171,15 +199,17 @@ This example demonstrates how extension members create a cohesive API that feels - Apply mathematical operators naturally (`point + offset`, `point * scale`) - Chain transformations using both operators and methods - Convert between related types (`ToVector()`) +- Read and update absolute points along a path with `path[index]` ### Migration benefits -When migrating from traditional extension methods to extension members, you gain: +When you migrate from traditional extension methods to extension members, you get: 1. **Static properties**: Add constants and computed values to types. 1. **Operators**: Enable natural mathematical and logical operations. +1. **Indexers**: Add C# 15 indexed access that can compute values from an existing type and update its stored state. 1. **Unified syntax**: All extension logic uses the same `extension` declaration. -1. **Type-level extensions**: Extend the type itself, not just instances. +1. **Type-level extensions**: Extend the type itself, not only instances. Run the complete application to see both approaches side by side and observe how extension members provide a more integrated development experience. @@ -187,4 +217,7 @@ Run the complete application to see both approaches side by side and observe how - [Extension methods (C# Programming Guide)](../../programming-guide/classes-and-structs/extension-methods.md) - [What's new in C# 14](../csharp-14.md) +- [What's new in C# 15](../csharp-15.md) +- [`extension` keyword (C# reference)](../../language-reference/keywords/extension.md) +- [Extension indexers feature specification](~/_csharplang/proposals/extension-indexers.md) - [Operator overloading (C# reference)](../../language-reference/operators/operator-overloading.md) diff --git a/docs/csharp/whats-new/tutorials/snippets/PointExtensions/ExtensionMemberDemonstrations.cs b/docs/csharp/whats-new/tutorials/snippets/PointExtensions/ExtensionMemberDemonstrations.cs index 6f7fb74cbd0d7..5e1ca44f14ac9 100644 --- a/docs/csharp/whats-new/tutorials/snippets/PointExtensions/ExtensionMemberDemonstrations.cs +++ b/docs/csharp/whats-new/tutorials/snippets/PointExtensions/ExtensionMemberDemonstrations.cs @@ -1,6 +1,7 @@ using System.Drawing; using System.Numerics; using ExtensionMembers; +using Path = ExtensionMembers.Path; public static class ExtensionMemberDemonstrations { @@ -13,6 +14,7 @@ public static void NewExtensionMembers() ArithmeticWithPoints(); DiscreteArithmeticWithPoints(); ExtensionMethods(); + PathIndexer(); MoreExamples(); } @@ -117,10 +119,29 @@ static void ExtensionMethods() // } + static void PathIndexer() + { + // + Console.WriteLine("5. Path Indexer"); + Console.WriteLine("---------------"); + + Path path = new([(dX: 2, dY: 3), (dX: 1, dY: 1), (dX: -1, dY: 4)]); + Console.WriteLine($"First point: {path[0]}"); + Console.WriteLine($"Second point: {path[1]}"); + Console.WriteLine($"Third point: {path[2]}"); + + path[1] = new Point(10, 10); + Console.WriteLine("After setting the second point to {X=10,Y=10}:"); + Console.WriteLine($"Second point: {path[1]}"); + Console.WriteLine($"Third point: {path[2]}"); + Console.WriteLine(); + // + } + static void MoreExamples() { // - Console.WriteLine("5. Complex Scenarios"); + Console.WriteLine("6. Complex Scenarios"); Console.WriteLine("-------------------"); // Combining operators and methods diff --git a/docs/csharp/whats-new/tutorials/snippets/PointExtensions/NewExtensionsMembers.cs b/docs/csharp/whats-new/tutorials/snippets/PointExtensions/NewExtensionsMembers.cs index de80d85881d67..26c2964911269 100644 --- a/docs/csharp/whats-new/tutorials/snippets/PointExtensions/NewExtensionsMembers.cs +++ b/docs/csharp/whats-new/tutorials/snippets/PointExtensions/NewExtensionsMembers.cs @@ -5,7 +5,7 @@ namespace ExtensionMembers; public static class PointExtensions { - extension(ref Point point) + extension(Point) { public static Point Origin => Point.Empty; @@ -27,7 +27,10 @@ public static class PointExtensions public static Point operator -(Point left, (int dx, int dy) scale) => new Point(left.X - scale.dx, left.Y - scale.dy); // + } + extension(ref Point point) + { // public Vector2 ToVector() => new Vector2(point.X, point.Y); @@ -55,6 +58,49 @@ public void Rotate(int angleInDegrees) point.Y = (int)newY; } // + } + + // + extension(Path path) + { + public Point this[int index] + { + get + { + ValidatePathIndex(path, index); + + Point absolutePoint = Point.Origin; + for (int current = 0; current <= index; current++) + { + var offset = path.GetOffset(current); + absolutePoint += offset; + } + return absolutePoint; + } + set + { + ValidatePathIndex(path, index); + + Point previousPoint = Point.Origin; + for (int current = 0; current < index; current++) + { + var offset = path.GetOffset(current); + previousPoint += offset; + } + + path.SetOffset(index, (value.X - previousPoint.X, value.Y - previousPoint.Y)); + } + } + } + + private static void ValidatePathIndex(Path path, int index) + { + if (index < 0 || index >= path.Count) + { + throw new ArgumentOutOfRangeException(nameof(index), index, + "Index must refer to an offset in the path."); + } } + // } diff --git a/docs/csharp/whats-new/tutorials/snippets/PointExtensions/Path.cs b/docs/csharp/whats-new/tutorials/snippets/PointExtensions/Path.cs new file mode 100644 index 0000000000000..b4a32ff935140 --- /dev/null +++ b/docs/csharp/whats-new/tutorials/snippets/PointExtensions/Path.cs @@ -0,0 +1,20 @@ +namespace ExtensionMembers; + +// +public sealed class Path +{ + private readonly List<(int dX, int dY)> offsets = []; + + public Path(IEnumerable<(int dX, int dY)> offsets) + { + this.offsets.AddRange(offsets); + } + + public int Count => offsets.Count; + + internal (int dX, int dY) GetOffset(int index) => offsets[index]; + + internal void SetOffset(int index, (int dX, int dY) offset) => + offsets[index] = offset; +} +// diff --git a/docs/csharp/whats-new/tutorials/snippets/PointExtensions/PointExtensions.csproj b/docs/csharp/whats-new/tutorials/snippets/PointExtensions/PointExtensions.csproj index ed9781c223ab9..1de1aa47a7270 100644 --- a/docs/csharp/whats-new/tutorials/snippets/PointExtensions/PointExtensions.csproj +++ b/docs/csharp/whats-new/tutorials/snippets/PointExtensions/PointExtensions.csproj @@ -2,7 +2,8 @@ Exe - net10.0 + net11.0 + preview enable enable From 7e0dc228c3386ade2fde0d72a301b9e197c476e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 09:44:22 -0400 Subject: [PATCH 024/120] Bump System.Security.Cryptography.Xml from 8.0.1 to 8.0.3 (#54810) --- updated-dependencies: - dependency-name: System.Security.Cryptography.Xml dependency-version: 8.0.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../HowToEncryptXMLElementX509/vb/encryptxml.vbproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementX509/vb/encryptxml.vbproj b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementX509/vb/encryptxml.vbproj index 6bd19fdd677f6..fb11213c748b3 100644 --- a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementX509/vb/encryptxml.vbproj +++ b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementX509/vb/encryptxml.vbproj @@ -6,7 +6,7 @@ - + From b60b71c2a9d9edcf420342214f3382772fc32ab7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 09:44:55 -0400 Subject: [PATCH 025/120] Bump System.Security.Cryptography.Xml from 8.0.1 to 8.0.3 (#54811) --- updated-dependencies: - dependency-name: System.Security.Cryptography.Xml dependency-version: 8.0.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../HowToDecryptXMLElementAsymmetric/cs/decryptxml.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/csharp/VS_Snippets_CLR/HowToDecryptXMLElementAsymmetric/cs/decryptxml.csproj b/samples/snippets/csharp/VS_Snippets_CLR/HowToDecryptXMLElementAsymmetric/cs/decryptxml.csproj index ba8fb029b6251..780cbcae40000 100644 --- a/samples/snippets/csharp/VS_Snippets_CLR/HowToDecryptXMLElementAsymmetric/cs/decryptxml.csproj +++ b/samples/snippets/csharp/VS_Snippets_CLR/HowToDecryptXMLElementAsymmetric/cs/decryptxml.csproj @@ -7,7 +7,7 @@ - + From f9e992898fa46447bca6516d250760af34dcd0eb Mon Sep 17 00:00:00 2001 From: Jared <85176005+JaredMSFT@users.noreply.github.com> Date: Thu, 16 Jul 2026 09:48:15 -0400 Subject: [PATCH 026/120] Add Cosmos and Postgres caching implementations (#54803) Added links to Cosmos and Postgres caching packages. --- docs/core/extensions/caching.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/core/extensions/caching.md b/docs/core/extensions/caching.md index 43aa372ea75ae..b44ec09ca4759 100644 --- a/docs/core/extensions/caching.md +++ b/docs/core/extensions/caching.md @@ -365,6 +365,8 @@ Consider any of the available implementations of the `IDistributedCache` from th - [`Microsoft.Extensions.Caching.SqlServer`](https://www.nuget.org/packages/Microsoft.Extensions.Caching.SqlServer) - [`Microsoft.Extensions.Caching.StackExchangeRedis`](https://www.nuget.org/packages/Microsoft.Extensions.Caching.StackExchangeRedis) +- [`Microsoft.Extensions.Caching.Cosmos`](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Cosmos) +- [`Microsoft.Extensions.Caching.Postgres`](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Postgres) - [`NCache.Microsoft.Extensions.Caching.OpenSource`](https://www.nuget.org/packages/NCache.Microsoft.Extensions.Caching.OpenSource) ### Distributed caching API From 63f54c8265c6c3f6076793a39742e63abdf20286 Mon Sep 17 00:00:00 2001 From: "Andy (Steve) De George" <67293991+adegeo@users.noreply.github.com> Date: Thu, 16 Jul 2026 11:49:51 -0700 Subject: [PATCH 027/120] Update the instructions for the upgrade extension (#54815) * Updates * Update instructions on how to start the chat * Fix nname --- .../includes/how-to-initiate.md | 2 +- .../github-copilot-app-modernization/install.md | 8 ++++---- docs/navigate/migration-guide/toc.yml | 10 ---------- 3 files changed, 5 insertions(+), 15 deletions(-) diff --git a/docs/core/porting/github-copilot-app-modernization/includes/how-to-initiate.md b/docs/core/porting/github-copilot-app-modernization/includes/how-to-initiate.md index cf087861d2ac8..f2b5ff74b171d 100644 --- a/docs/core/porting/github-copilot-app-modernization/includes/how-to-initiate.md +++ b/docs/core/porting/github-copilot-app-modernization/includes/how-to-initiate.md @@ -8,7 +8,7 @@ ms.topic: include 1. Start the agent by using one of these methods: - **Visual Studio**: Right-click the solution or project in **Solution Explorer** and select **Modernize**. Alternatively, open the **GitHub Copilot Chat** window and type `@Modernize`. - - **Visual Studio Code**: Open the **GitHub Copilot Chat** panel and type `@modernize-dotnet`. + - **Visual Studio Code**: Open the **GitHub Copilot Chat** panel and type `@upgrade`. - **GitHub Copilot CLI**: Type `@upgrade` followed by your upgrade or migration request. - **GitHub Copilot app**: In the **Agent** picker, select `Upgrade`. diff --git a/docs/core/porting/github-copilot-app-modernization/install.md b/docs/core/porting/github-copilot-app-modernization/install.md index 5d11a84e13744..d877fd6b8490f 100644 --- a/docs/core/porting/github-copilot-app-modernization/install.md +++ b/docs/core/porting/github-copilot-app-modernization/install.md @@ -53,20 +53,20 @@ Before you install, make sure you have: Install as a Visual Studio Code extension: 1. In Visual Studio Code, open the **Extensions** view (Ctrl+Shift+X). -1. Search for **GitHub Copilot modernization**. +1. Search for **GitHub Copilot upgrade**. 1. Select **Install**. -The extension automatically acquires the .NET SDK if it's missing, registers tools, and adds the agent to Copilot Chat as `modernize-dotnet`. +The extension automatically acquires the .NET SDK if it's missing, registers tools, and adds the agent to Copilot Chat as `Upgrade`. ## Verify the installation 1. Open a project in Visual Studio Code. 1. Open the **GitHub Copilot Chat** view. -1. Send `@modernize-dotnet` in chat and confirm the agent responds. +1. Send `@upgrade` in chat and confirm the agent responds. -or- - Select the **Agent** picker and find the `modernize-dotnet` entry. + Select the **Agent** picker and find the `Upgrade` entry. ::: zone-end diff --git a/docs/navigate/migration-guide/toc.yml b/docs/navigate/migration-guide/toc.yml index 83bf685a6fbde..ff97484f8d9e4 100644 --- a/docs/navigate/migration-guide/toc.yml +++ b/docs/navigate/migration-guide/toc.yml @@ -129,15 +129,5 @@ items: - name: How to analyze a project href: ../../core/porting/upgrade-assistant-how-to-analyze.md displayName: upgrade assistant - - name: Project upgrade guide - items: - - name: ASP.NET - href: /aspnet/core/migration/fx-to-core/tooling - - name: Windows Presentation Foundation - href: /dotnet/desktop/wpf/migration/ - - name: Windows Forms - href: /dotnet/desktop/winforms/migration/ - - name: Universal Windows Platform - href: /windows/apps/windows-app-sdk/migrate-to-windows-app-sdk/upgrade-assistant - name: Telemetry href: ../../core/porting/upgrade-assistant-telemetry.md From 6da9d910b92c7555ba49ef10e368f3fbeb421c70 Mon Sep 17 00:00:00 2001 From: "azure-sdk-automation[bot]" <191533747+azure-sdk-automation[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 16:43:55 -0400 Subject: [PATCH 028/120] Update package index with latest published versions (#54731) Co-authored-by: azure-sdk --- docs/azure/includes/dotnet-all.md | 361 ++++++++++++++++-------------- docs/azure/includes/dotnet-new.md | 279 ++++++++++++----------- 2 files changed, 337 insertions(+), 303 deletions(-) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index 88765affd7775..7cff0ffdd483c 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -2,21 +2,21 @@ | ---- | ------- | ---- | ------ | | AI Agent Server - Agent Framework | NuGet [1.0.0-beta.11](https://www.nuget.org/packages/Azure.AI.AgentServer.AgentFramework/1.0.0-beta.11) | [docs](/dotnet/api/overview/azure/AI.AgentServer.AgentFramework-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.11](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.AgentFramework_1.0.0-beta.11/sdk/agentserver/Azure.AI.AgentServer.AgentFramework/) | | AI Agent Server - Contracts | NuGet [1.0.0-beta.11](https://www.nuget.org/packages/Azure.AI.AgentServer.Contracts/1.0.0-beta.11) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Contracts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.11](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Contracts_1.0.0-beta.11/sdk/agentserver/Azure.AI.AgentServer.Contracts/) | -| AI Agent Server - Core | NuGet [1.0.0-beta.25](https://www.nuget.org/packages/Azure.AI.AgentServer.Core/1.0.0-beta.25) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Core-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.25](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Core_1.0.0-beta.25/sdk/agentserver/Azure.AI.AgentServer.Core/) | +| AI Agent Server - Core | NuGet [1.0.0-beta.26](https://www.nuget.org/packages/Azure.AI.AgentServer.Core/1.0.0-beta.26) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Core-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.26](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Core_1.0.0-beta.26/sdk/agentserver/Azure.AI.AgentServer.Core/) | | AI Agents Persistent | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.Agents.Persistent/1.1.0)
NuGet [1.2.0-beta.10](https://www.nuget.org/packages/Azure.AI.Agents.Persistent/1.2.0-beta.10) | [docs](/dotnet/api/overview/azure/AI.Agents.Persistent-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Agents.Persistent_1.1.0/sdk/ai/Azure.AI.Agents.Persistent/)
GitHub [1.2.0-beta.10](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Agents.Persistent_1.2.0-beta.10/sdk/ai/Azure.AI.Agents.Persistent/) | -| AI Foundry | NuGet [2.0.1](https://www.nuget.org/packages/Azure.AI.Projects/2.0.1)
NuGet [2.1.0-beta.3](https://www.nuget.org/packages/Azure.AI.Projects/2.1.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.Projects-readme) | GitHub [2.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects_2.0.1/sdk/ai/Azure.AI.Projects/)
GitHub [2.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects_2.1.0-beta.3/sdk/ai/Azure.AI.Projects/) | +| AI Foundry | NuGet [2.0.1](https://www.nuget.org/packages/Azure.AI.Projects/2.0.1)
NuGet [2.1.0-beta.4](https://www.nuget.org/packages/Azure.AI.Projects/2.1.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.Projects-readme) | GitHub [2.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects_2.0.1/sdk/ai/Azure.AI.Projects/)
GitHub [2.1.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects_2.1.0-beta.4/sdk/ai/Azure.AI.Projects/) | | AI Model Inference | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.AI.Inference/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/AI.Inference-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Inference_1.0.0-beta.5/sdk/ai/Azure.AI.Inference/) | | AI Projects - OpenAI | NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.Projects.OpenAI/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Projects.OpenAI-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.OpenAI_2.0.0-beta.1/sdk/ai/Azure.AI.Projects.OpenAI/) | | Anomaly Detector | NuGet [3.0.0-preview.7](https://www.nuget.org/packages/Azure.AI.AnomalyDetector/3.0.0-preview.7) | [docs](/dotnet/api/overview/azure/AI.AnomalyDetector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [3.0.0-preview.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AnomalyDetector_3.0.0-preview.7/sdk/anomalydetector/Azure.AI.AnomalyDetector/) | -| App Configuration | NuGet [1.9.0](https://www.nuget.org/packages/Azure.Data.AppConfiguration/1.9.0) | [docs](/dotnet/api/overview/azure/Data.AppConfiguration-readme) | GitHub [1.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AppConfiguration_1.9.0/sdk/appconfiguration/Azure.Data.AppConfiguration/) | +| App Configuration | NuGet [1.10.0](https://www.nuget.org/packages/Azure.Data.AppConfiguration/1.10.0) | [docs](/dotnet/api/overview/azure/Data.AppConfiguration-readme) | GitHub [1.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AppConfiguration_1.10.0/sdk/appconfiguration/Azure.Data.AppConfiguration/) | | App Configuration Provider | NuGet [8.5.0](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/8.5.0)
NuGet [8.6.0-preview](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/8.6.0-preview) | [docs](/dotnet/api/overview/azure/Microsoft.Extensions.Configuration.AzureAppConfiguration-readme) | GitHub [8.5.0](https://github.com/Azure/AppConfiguration-DotnetProvider) | | Attestation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Security.Attestation/1.0.0) | [docs](/dotnet/api/overview/azure/Security.Attestation-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.Attestation_1.0.0/sdk/attestation/Azure.Security.Attestation/) | | Azure AI Search | NuGet [12.0.0](https://www.nuget.org/packages/Azure.Search.Documents/12.0.0)
NuGet [12.1.0-beta.1](https://www.nuget.org/packages/Azure.Search.Documents/12.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Search.Documents-readme) | GitHub [12.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_12.0.0/sdk/search/Azure.Search.Documents/)
GitHub [12.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_12.1.0-beta.1/sdk/search/Azure.Search.Documents/) | | Azure AI Transcription | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Speech.Transcription/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Speech.Transcription-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Speech.Transcription_1.0.0/sdk/transcription/Azure.AI.Speech.Transcription/) | -| Code Transparency | NuGet [1.0.0-beta.8](https://www.nuget.org/packages/Azure.Security.CodeTransparency/1.0.0-beta.8) | [docs](/dotnet/api/overview/azure/Security.CodeTransparency-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.CodeTransparency_1.0.0-beta.8/sdk/confidentialledger/Azure.Security.CodeTransparency/) | -| Communication Call Automation | NuGet [1.5.1](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.5.1)
NuGet [1.6.0-beta.2](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.6.0-beta.2) | [docs](/dotnet/api/overview/azure/Communication.CallAutomation-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.5.1/sdk/communication/Azure.Communication.CallAutomation/)
GitHub [1.6.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.6.0-beta.2/sdk/communication/Azure.Communication.CallAutomation/) | +| Code Transparency | NuGet [1.0.0-beta.11](https://www.nuget.org/packages/Azure.Security.CodeTransparency/1.0.0-beta.11) | [docs](/dotnet/api/overview/azure/Security.CodeTransparency-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.11](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.CodeTransparency_1.0.0-beta.11/sdk/confidentialledger/Azure.Security.CodeTransparency/) | +| Communication Call Automation | NuGet [1.6.0](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.6.0) | [docs](/dotnet/api/overview/azure/Communication.CallAutomation-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.6.0/sdk/communication/Azure.Communication.CallAutomation/) | | Communication Chat | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Communication.Chat/1.4.0) | [docs](/dotnet/api/overview/azure/Communication.Chat-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Chat_1.4.0/sdk/communication/Azure.Communication.Chat/) | -| Communication Common | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Communication.Common/1.4.0)
NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Common/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Common-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_1.4.0/sdk/communication/Azure.Communication.Common/)
GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_2.0.0-beta.1/sdk/communication/Azure.Communication.Common/) | +| Communication Common | NuGet [1.4.1](https://www.nuget.org/packages/Azure.Communication.Common/1.4.1)
NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Common/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Common-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_1.4.1/sdk/communication/Azure.Communication.Common/)
GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_2.0.0-beta.1/sdk/communication/Azure.Communication.Common/) | | Communication Email | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Communication.Email/1.1.0) | [docs](/dotnet/api/overview/azure/Communication.Email-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Email_1.1.0/sdk/communication/Azure.Communication.Email/) | | Communication Identity | NuGet [1.3.1](https://www.nuget.org/packages/Azure.Communication.Identity/1.3.1)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Identity/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Identity-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Identity_1.3.1/sdk/communication/Azure.Communication.Identity/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Identity_1.4.0-beta.1/sdk/communication/Azure.Communication.Identity/) | | Communication JobRouter | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Communication.JobRouter/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Communication.JobRouter/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.JobRouter-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.JobRouter_1.0.0/sdk/communication/Azure.Communication.JobRouter/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.JobRouter_1.1.0-beta.1/sdk/communication/Azure.Communication.JobRouter/) | @@ -28,11 +28,11 @@ | Confidential Ledger | NuGet [1.3.0](https://www.nuget.org/packages/Azure.Security.ConfidentialLedger/1.3.0)
NuGet [1.4.1-beta.5](https://www.nuget.org/packages/Azure.Security.ConfidentialLedger/1.4.1-beta.5) | [docs](/dotnet/api/overview/azure/Security.ConfidentialLedger-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.ConfidentialLedger_1.3.0/sdk/confidentialledger/Azure.Security.ConfidentialLedger/)
GitHub [1.4.1-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.ConfidentialLedger_1.4.1-beta.5/sdk/confidentialledger/Azure.Security.ConfidentialLedger/) | | Container Registry | NuGet [1.3.0](https://www.nuget.org/packages/Azure.Containers.ContainerRegistry/1.3.0) | [docs](/dotnet/api/overview/azure/Containers.ContainerRegistry-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Containers.ContainerRegistry_1.3.0/sdk/containerregistry/Azure.Containers.ContainerRegistry/) | | Content Safety | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.ContentSafety/1.0.0) | [docs](/dotnet/api/overview/azure/AI.ContentSafety-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.ContentSafety_1.0.0/sdk/contentsafety/Azure.AI.ContentSafety/) | -| Content Understanding | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.ContentUnderstanding/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.AI.ContentUnderstanding/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.ContentUnderstanding-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.ContentUnderstanding_1.1.0/sdk/contentunderstanding/Azure.AI.ContentUnderstanding/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.ContentUnderstanding_1.2.0-beta.1/sdk/contentunderstanding/Azure.AI.ContentUnderstanding/) | +| Content Understanding | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.ContentUnderstanding/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.AI.ContentUnderstanding/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.ContentUnderstanding-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.ContentUnderstanding_1.1.0/sdk/contentunderstanding/Azure.AI.ContentUnderstanding/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.ContentUnderstanding_1.2.0-beta.2/sdk/contentunderstanding/Azure.AI.ContentUnderstanding/) | | Conversational Language Understanding | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.Language.Conversations/1.1.0)
NuGet [2.0.0-beta.5](https://www.nuget.org/packages/Azure.AI.Language.Conversations/2.0.0-beta.5) | [docs](/dotnet/api/overview/azure/AI.Language.Conversations-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations_1.1.0/sdk/cognitivelanguage/Azure.AI.Language.Conversations/)
GitHub [2.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations_2.0.0-beta.5/sdk/cognitivelanguage/Azure.AI.Language.Conversations/) | | Conversations Authoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.AI.Language.Conversations.Authoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.Language.Conversations.Authoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations.Authoring_1.0.0-beta.3/sdk/cognitivelanguage/Azure.AI.Language.Conversations.Authoring/) | | Core - Client - AMQP | NuGet [1.3.1](https://www.nuget.org/packages/Azure.Core.Amqp/1.3.1) | [docs](/dotnet/api/overview/azure/Core.Amqp-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core.Amqp_1.3.1/sdk/core/Azure.Core.Amqp/) | -| Core - Client - Core | NuGet [1.57.0](https://www.nuget.org/packages/Azure.Core/1.57.0) | [docs](/dotnet/api/overview/azure/Core-readme) | GitHub [1.57.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.57.0/sdk/core/Azure.Core/) | +| Core - Client - Core | NuGet [1.60.0](https://www.nuget.org/packages/Azure.Core/1.60.0) | [docs](/dotnet/api/overview/azure/Core-readme) | GitHub [1.60.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.60.0/sdk/core/Azure.Core/) | | Core - Client - Core | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Core.Expressions.DataFactory/1.0.0) | [docs](/dotnet/api/overview/azure/Core.Expressions.DataFactory-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core.Expressions.DataFactory_1.0.0/sdk/core/Azure.Core.Expressions.DataFactory/) | | Core Newtonsoft Json | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.Core.NewtonsoftJson/2.0.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Core.NewtonsoftJson-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Core.NewtonsoftJson_2.0.0/sdk/core/Microsoft.Azure.Core.NewtonsoftJson/) | | Core WCF Storage Queues | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.CoreWCF.Azure.StorageQueues/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.CoreWCF.Azure.StorageQueues-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.CoreWCF.Azure.StorageQueues_1.0.0-beta.1/sdk/extension-wcf/Microsoft.CoreWCF.Azure.StorageQueues/) | @@ -58,12 +58,12 @@ | Health Insights Clinical Matching | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Health.Insights.ClinicalMatching/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Health.Insights.ClinicalMatching-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.ClinicalMatching_1.0.0-beta.1/sdk/healthinsights/Azure.Health.Insights.ClinicalMatching/) | | Health Insights Radiology Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Health.Insights.RadiologyInsights/1.1.0) | [docs](/dotnet/api/overview/azure/Health.Insights.RadiologyInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.RadiologyInsights_1.1.0/sdk/healthinsights/Azure.Health.Insights.RadiologyInsights/) | | Identity | NuGet [1.21.0](https://www.nuget.org/packages/Azure.Identity/1.21.0) | [docs](/dotnet/api/overview/azure/Identity-readme) | GitHub [1.21.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.21.0/sdk/identity/Azure.Identity/) | -| Identity Broker | NuGet [1.7.0](https://www.nuget.org/packages/Azure.Identity.Broker/1.7.0) | [docs](/dotnet/api/overview/azure/Identity.Broker-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.7.0/sdk/identity/Azure.Identity.Broker/) | +| Identity Broker | NuGet [1.7.0](https://www.nuget.org/packages/Azure.Identity.Broker/1.7.0)
NuGet [1.8.0-beta.1](https://www.nuget.org/packages/Azure.Identity.Broker/1.8.0-beta.1) | [docs](/dotnet/api/overview/azure/Identity.Broker-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.7.0/sdk/identity/Azure.Identity.Broker/)
GitHub [1.8.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.8.0-beta.1/sdk/identity/Azure.Identity.Broker/) | | Image Analysis | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Vision.ImageAnalysis/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Vision.ImageAnalysis-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Vision.ImageAnalysis_1.0.0/sdk/vision/Azure.AI.Vision.ImageAnalysis/) | -| Key Vault - Administration | NuGet [4.8.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.8.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Administration-readme) | GitHub [4.8.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.8.0/sdk/keyvault/Azure.Security.KeyVault.Administration/) | -| Key Vault - Certificates | NuGet [4.9.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.9.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Certificates-readme) | GitHub [4.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.9.0/sdk/keyvault/Azure.Security.KeyVault.Certificates/) | -| Key Vault - Keys | NuGet [4.10.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.10.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Keys-readme) | GitHub [4.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.10.0/sdk/keyvault/Azure.Security.KeyVault.Keys/) | -| Key Vault - Secrets | NuGet [4.11.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.11.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Secrets-readme) | GitHub [4.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.11.0/sdk/keyvault/Azure.Security.KeyVault.Secrets/) | +| Key Vault - Administration | NuGet [4.8.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.8.0)
NuGet [4.9.0-beta.2](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.9.0-beta.2) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Administration-readme) | GitHub [4.8.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.8.0/sdk/keyvault/Azure.Security.KeyVault.Administration/)
GitHub [4.9.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.9.0-beta.2/sdk/keyvault/Azure.Security.KeyVault.Administration/) | +| Key Vault - Certificates | NuGet [4.9.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.9.0)
NuGet [4.10.0-beta.2](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.10.0-beta.2) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Certificates-readme) | GitHub [4.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.9.0/sdk/keyvault/Azure.Security.KeyVault.Certificates/)
GitHub [4.10.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.10.0-beta.2/sdk/keyvault/Azure.Security.KeyVault.Certificates/) | +| Key Vault - Keys | NuGet [4.10.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.10.0)
NuGet [4.11.0-beta.3](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.11.0-beta.3) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Keys-readme) | GitHub [4.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.10.0/sdk/keyvault/Azure.Security.KeyVault.Keys/)
GitHub [4.11.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.11.0-beta.3/sdk/keyvault/Azure.Security.KeyVault.Keys/) | +| Key Vault - Secrets | NuGet [4.11.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.11.0)
NuGet [4.12.0-beta.1](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.12.0-beta.1) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Secrets-readme) | GitHub [4.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.11.0/sdk/keyvault/Azure.Security.KeyVault.Secrets/)
GitHub [4.12.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.12.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets/) | | Language Text | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.Language.Text/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.Language.Text-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Text_1.0.0-beta.4/sdk/cognitivelanguage/Azure.AI.Language.Text/) | | Load Testing | NuGet [1.0.2](https://www.nuget.org/packages/Azure.Developer.LoadTesting/1.0.2)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.Developer.LoadTesting/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/Developer.LoadTesting-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.LoadTesting_1.0.2/sdk/loadtestservice/Azure.Developer.LoadTesting/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.LoadTesting_1.3.0-beta.1/sdk/loadtestservice/Azure.Developer.LoadTesting/) | | Maps Common | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Maps.Common/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Maps.Common-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Maps.Common_1.0.0-beta.4/sdk/maps/Azure.Maps.Common/) | @@ -84,7 +84,7 @@ | OpenAI Assistants | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.OpenAI.Assistants/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.OpenAI.Assistants-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI.Assistants_1.0.0-beta.4/sdk/openai/Azure.AI.OpenAI.Assistants/) | | OpenAI Inference | NuGet [2.1.0](https://www.nuget.org/packages/Azure.AI.OpenAI/2.1.0)
NuGet [2.9.0-beta.1](https://www.nuget.org/packages/Azure.AI.OpenAI/2.9.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.OpenAI-readme) | GitHub [2.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.1.0/sdk/openai/Azure.AI.OpenAI/)
GitHub [2.9.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.9.0-beta.1/sdk/openai/Azure.AI.OpenAI/) | | OpenTelemetry AspNetCore | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore/1.5.0) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.AspNetCore-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.AspNetCore_1.5.0/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/) | -| OpenTelemetry Exporter | NuGet [1.8.1](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.8.1) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.8.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.8.1/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/) | +| OpenTelemetry Exporter | NuGet [1.8.2](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.8.2) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.8.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.8.2/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/) | | Personalizer | NuGet [2.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Personalizer/2.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Personalizer-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Personalizer_2.0.0-beta.2/sdk/personalizer/Azure.AI.Personalizer/) | | Playwright | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Developer.Playwright/1.0.0) | [docs](/dotnet/api/overview/azure/Developer.Playwright-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright_1.0.0/sdk/loadtestservice/Azure.Developer.Playwright/) | | Playwright NUnit | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Developer.Playwright.NUnit/1.0.0) | [docs](/dotnet/api/overview/azure/Developer.Playwright.NUnit-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright.NUnit_1.0.0/sdk/loadtestservice/Azure.Developer.Playwright.NUnit/) | @@ -102,19 +102,19 @@ | Question Answering Authoring | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.Language.QuestionAnswering.Authoring/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Language.QuestionAnswering.Authoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.QuestionAnswering.Authoring_1.0.0-beta.1/sdk/cognitivelanguage/Azure.AI.Language.QuestionAnswering.Authoring/) | | Schema Registry | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Data.SchemaRegistry/1.4.0) | [docs](/dotnet/api/overview/azure/Data.SchemaRegistry-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.SchemaRegistry_1.4.0/sdk/schemaregistry/Azure.Data.SchemaRegistry/) | | Schema Registry - Avro | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/1.0.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.1/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/) | -| Service Bus | NuGet [7.20.1](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.20.1) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme) | GitHub [7.20.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.20.1/sdk/servicebus/Azure.Messaging.ServiceBus/) | -| Storage - Blobs | NuGet [12.28.0](https://www.nuget.org/packages/Azure.Storage.Blobs/12.28.0)
NuGet [12.29.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.29.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.28.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.28.0/sdk/storage/Azure.Storage.Blobs/)
GitHub [12.29.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.29.0-beta.1/sdk/storage/Azure.Storage.Blobs/) | -| Storage - Blobs Batch | NuGet [12.25.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.25.0)
NuGet [12.26.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.26.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.25.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.25.0/sdk/storage/Azure.Storage.Blobs.Batch/)
GitHub [12.26.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.26.0-beta.1/sdk/storage/Azure.Storage.Blobs.Batch/) | -| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.62](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.62) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.62](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.62/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) | -| Storage - Files Data Lake | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.26.0)
NuGet [12.27.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.27.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.26.0/sdk/storage/Azure.Storage.Files.DataLake/)
GitHub [12.27.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.27.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/) | -| Storage - Files Share | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.26.0)
NuGet [12.27.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.27.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.26.0/sdk/storage/Azure.Storage.Files.Shares/)
GitHub [12.27.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.27.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/) | -| Storage - Queues | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Queues/12.26.0)
NuGet [12.27.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.27.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.26.0/sdk/storage/Azure.Storage.Queues/)
GitHub [12.27.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.27.0-beta.1/sdk/storage/Azure.Storage.Queues/) | +| Service Bus | NuGet [7.20.2](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.20.2) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme) | GitHub [7.20.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.20.2/sdk/servicebus/Azure.Messaging.ServiceBus/) | +| Storage - Blobs | NuGet [12.29.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.29.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.29.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.29.1/sdk/storage/Azure.Storage.Blobs/) | +| Storage - Blobs Batch | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.26.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.26.0/sdk/storage/Azure.Storage.Blobs.Batch/) | +| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.63](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.63) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.63](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.63/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) | +| Storage - Files Data Lake | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.27.1) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.27.1/sdk/storage/Azure.Storage.Files.DataLake/) | +| Storage - Files Share | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.27.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.27.1/sdk/storage/Azure.Storage.Files.Shares/) | +| Storage - Queues | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.27.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.27.1/sdk/storage/Azure.Storage.Queues/) | | Synapse - AccessControl | NuGet [1.0.0-preview.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.AccessControl/1.0.0-preview.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.AccessControl-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.AccessControl_1.0.0-preview.5/sdk/synapse/Azure.Analytics.Synapse.AccessControl/) | | Synapse - Artifacts | NuGet [1.0.0-preview.23](https://www.nuget.org/packages/Azure.Analytics.Synapse.Artifacts/1.0.0-preview.23) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Artifacts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.23](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Artifacts_1.0.0-preview.23/sdk/synapse/Azure.Analytics.Synapse.Artifacts/) | | Synapse - Managed Private Endpoints | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.ManagedPrivateEndpoints/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.ManagedPrivateEndpoints-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.ManagedPrivateEndpoints_1.0.0-beta.5/sdk/synapse/Azure.Analytics.Synapse.ManagedPrivateEndpoints/) | | Synapse - Monitoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Analytics.Synapse.Monitoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Monitoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Monitoring_1.0.0-beta.3/sdk/synapse/Azure.Analytics.Synapse.Monitoring/) | | Synapse - Spark | NuGet [1.0.0-preview.8](https://www.nuget.org/packages/Azure.Analytics.Synapse.Spark/1.0.0-preview.8) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Spark-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Spark_1.0.0-preview.8/sdk/synapse/Azure.Analytics.Synapse.Spark/) | -| System Events | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.0.0) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.SystemEvents-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.0.0/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/) | +| System Events | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.SystemEvents-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.0.0/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.1.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/) | | System.ClientModel | NuGet [1.14.0](https://www.nuget.org/packages/System.ClientModel/1.14.0) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.14.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.14.0/sdk/core/System.ClientModel/) | | Tables | NuGet [12.11.0](https://www.nuget.org/packages/Azure.Data.Tables/12.11.0) | [docs](/dotnet/api/overview/azure/Data.Tables-readme) | GitHub [12.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.Tables_12.11.0/sdk/tables/Azure.Data.Tables/) | | Text Analytics | NuGet [5.3.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.3.0) | [docs](/dotnet/api/overview/azure/AI.TextAnalytics-readme) | GitHub [5.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0/sdk/textanalytics/Azure.AI.TextAnalytics/) | @@ -122,13 +122,13 @@ | Text Translation | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Translation.Text/2.0.0) | [docs](/dotnet/api/overview/azure/AI.Translation.Text-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Text_2.0.0/sdk/translation/Azure.AI.Translation.Text/) | | Time Series Insights | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.IoT.TimeSeriesInsights/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/IoT.TimeSeriesInsights-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.IoT.TimeSeriesInsights_1.0.0-beta.1/sdk/timeseriesinsights/Azure.IoT.TimeSeriesInsights/) | | TimeZone | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Maps.TimeZones/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Maps.TimeZones-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Maps.TimeZones_1.0.0-beta.1/sdk/maps/Azure.Maps.TimeZones/) | -| unknown | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.AgentServer.Invocations/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Invocations-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Invocations_1.0.0-beta.4/sdk/agentserver/Azure.AI.AgentServer.Invocations/) | -| unknown | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.AI.AgentServer.Responses/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Responses-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Responses_1.0.0-beta.5/sdk/agentserver/Azure.AI.AgentServer.Responses/) | -| unknown | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.0.0)
NuGet [2.1.0-beta.3](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.1.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.Extensions.OpenAI-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_2.0.0/sdk/ai/Azure.AI.Extensions.OpenAI/)
GitHub [2.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_2.1.0-beta.3/sdk/ai/Azure.AI.Extensions.OpenAI/) | -| unknown | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Projects.Agents/2.0.0)
NuGet [2.1.0-beta.3](https://www.nuget.org/packages/Azure.AI.Projects.Agents/2.1.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.Projects.Agents-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.Agents_2.0.0/sdk/ai/Azure.AI.Projects.Agents/)
GitHub [2.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.Agents_2.1.0-beta.3/sdk/ai/Azure.AI.Projects.Agents/) | +| unknown | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.AI.AgentServer.Invocations/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Invocations-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Invocations_1.0.0-beta.5/sdk/agentserver/Azure.AI.AgentServer.Invocations/) | +| unknown | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.AI.AgentServer.Responses/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Responses-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Responses_1.0.0-beta.6/sdk/agentserver/Azure.AI.AgentServer.Responses/) | +| unknown | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.0.0)
NuGet [2.1.0-beta.4](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.1.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.Extensions.OpenAI-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_2.0.0/sdk/ai/Azure.AI.Extensions.OpenAI/)
GitHub [2.1.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_2.1.0-beta.4/sdk/ai/Azure.AI.Extensions.OpenAI/) | +| unknown | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Projects.Agents/2.0.0)
NuGet [2.1.0-beta.4](https://www.nuget.org/packages/Azure.AI.Projects.Agents/2.1.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.Projects.Agents-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.Agents_2.0.0/sdk/ai/Azure.AI.Projects.Agents/)
GitHub [2.1.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.Agents_2.1.0-beta.4/sdk/ai/Azure.AI.Projects.Agents/) | | unknown | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.Azure.PostgreSQL.Auth/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.PostgreSQL.Auth-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.PostgreSQL.Auth_1.0.0-beta.1/sdk/postgresql/Microsoft.Azure.PostgreSQL.Auth/) | | Vision Common | NuGet [0.15.1-beta.1](https://www.nuget.org/packages/Azure.AI.Vision.Common/0.15.1-beta.1) | | GitHub [0.15.1-beta.1](https://msasg.visualstudio.com/Skyman/_git/Carbon) | -| Voice Live | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.0.0)
NuGet [1.1.0-beta.4](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.1.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.VoiceLive-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.0.0/sdk/voicelive/Azure.AI.VoiceLive/)
GitHub [1.1.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.1.0-beta.4/sdk/voicelive/Azure.AI.VoiceLive/) | +| Voice Live | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.VoiceLive-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.1.0/sdk/voicelive/Azure.AI.VoiceLive/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.2.0-beta.1/sdk/voicelive/Azure.AI.VoiceLive/) | | WCF Storage Queues | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.WCF.Azure.StorageQueues/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.WCF.Azure.StorageQueues-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.WCF.Azure.StorageQueues_1.0.0-beta.1/sdk/extension-wcf/Microsoft.WCF.Azure.StorageQueues/) | | Web PubSub | NuGet [1.6.0](https://www.nuget.org/packages/Azure.Messaging.WebPubSub/1.6.0) | [docs](/dotnet/api/overview/azure/Messaging.WebPubSub-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.WebPubSub_1.6.0/sdk/webpubsub/Azure.Messaging.WebPubSub/) | | Web PubSub Client | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Messaging.WebPubSub.Client/1.0.0) | [docs](/dotnet/api/overview/azure/Messaging.WebPubSub.Client-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.WebPubSub.Client_1.0.0/sdk/webpubsub/Azure.Messaging.WebPubSub.Client/) | @@ -140,15 +140,15 @@ | Functions extension for Azure Tables | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Tables/1.4.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Tables-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Tables_1.4.0/sdk/tables/Microsoft.Azure.WebJobs.Extensions.Tables/) | | Key Encryptor for .NET Data Protection | NuGet [1.6.3](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Keys/1.6.3) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Keys-readme) | GitHub [1.6.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Keys_1.6.3/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Keys/) | | Secrets Configuration Provider for .NET | NuGet [1.5.1](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.5.1) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.5.1/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) | -| Storage - Common | NuGet [12.27.0](https://www.nuget.org/packages/Azure.Storage.Common/12.27.0)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Common/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.27.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.27.0/sdk/storage/Azure.Storage.Common/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.28.0-beta.1/sdk/storage/Azure.Storage.Common/) | +| Storage - Common | NuGet [12.28.0](https://www.nuget.org/packages/Azure.Storage.Common/12.28.0) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.28.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.28.0/sdk/storage/Azure.Storage.Common/) | | WebJobs Extensions - Event Grid | NuGet [3.5.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid/3.5.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventGrid-readme) | GitHub [3.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventGrid_3.5.0/sdk/eventgrid/Microsoft.Azure.WebJobs.Extensions.EventGrid/) | | WebJobs Extensions - Event Hubs | NuGet [6.5.3](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs/6.5.3) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventHubs-readme) | GitHub [6.5.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5.3/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/) | | WebJobs Extensions - Service Bus | NuGet [5.17.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ServiceBus/5.17.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.ServiceBus-readme) | GitHub [5.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.ServiceBus_5.17.0/sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/) | | WebJobs Extensions - SignalR Service | NuGet [2.1.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.SignalRService/2.1.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.SignalRService-readme) | GitHub [2.1.0](https://github.com/Azure/azure-functions-signalrservice-extension/tree/v1.2.0/src/SignalRServiceExtension) | -| WebJobs Extensions - Storage | NuGet [5.3.7](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage/5.3.7) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage-readme) | GitHub [5.3.7](https://github.com/Azure/azure-webjobs-sdk/tree/master/src/Microsoft.Azure.WebJobs.Extensions.Storage) | +| WebJobs Extensions - Storage | NuGet [5.3.8](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage/5.3.8) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage-readme) | GitHub [5.3.8](https://github.com/Azure/azure-webjobs-sdk/tree/master/src/Microsoft.Azure.WebJobs.Extensions.Storage) | | WebJobs Extensions - Web PubSub | NuGet [1.10.2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.WebPubSub/1.10.2) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.WebPubSub-readme) | GitHub [1.10.2](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.WebPubSub_1.10.2/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSub/) | -| Functions extension for Blob Storage | NuGet [5.3.7](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/5.3.7) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs-readme) | GitHub [5.3.7](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs_5.3.7/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/) | -| Functions extension for Storage Queues | NuGet [5.3.7](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/5.3.7) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage.Queues-readme) | GitHub [5.3.7](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Queues_5.3.7/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/) | +| Functions extension for Blob Storage | NuGet [5.3.8](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/5.3.8) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs-readme) | GitHub [5.3.8](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs_5.3.8/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/) | +| Functions extension for Storage Queues | NuGet [5.3.8](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/5.3.8) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage.Queues-readme) | GitHub [5.3.8](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Queues_5.3.8/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/) | | Functions extension for WebPubSub for SocketIO | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/1.0.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO_1.0.0/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/) | | Provisioning - Apimanagement | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ApiManagement/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ApiManagement-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ApiManagement_1.0.0-beta.1/sdk/apimanagement/Azure.Provisioning.ApiManagement/) | | Provisioning - App Configuration | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.AppConfiguration/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.AppConfiguration/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.AppConfiguration-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppConfiguration_1.1.0/sdk/provisioning/Azure.Provisioning.AppConfiguration/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppConfiguration_1.2.0-beta.1/sdk/provisioning/Azure.Provisioning.AppConfiguration/) | @@ -156,21 +156,24 @@ | Provisioning - App Service | NuGet [1.3.1](https://www.nuget.org/packages/Azure.Provisioning.AppService/1.3.1)
NuGet [1.4.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.AppService/1.4.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.AppService-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppService_1.3.1/sdk/provisioning/Azure.Provisioning.AppService/)
GitHub [1.4.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppService_1.4.0-beta.2/sdk/provisioning/Azure.Provisioning.AppService/) | | Provisioning - Application Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.ApplicationInsights/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ApplicationInsights/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ApplicationInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ApplicationInsights_1.1.0/sdk/provisioning/Azure.Provisioning.ApplicationInsights/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ApplicationInsights_1.2.0-beta.1/sdk/provisioning/Azure.Provisioning.ApplicationInsights/) | | Provisioning - Batch | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Batch/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Batch-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Batch_1.0.0-beta.1/sdk/batch/Azure.Provisioning.Batch/) | -| Provisioning - Cdn | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.Cdn/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.Cdn-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Cdn_1.0.0-beta.2/sdk/cdn/Azure.Provisioning.Cdn/) | +| Provisioning - Botservice | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.BotService/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.BotService-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.BotService_1.0.0-beta.1/sdk/botservice/Azure.Provisioning.BotService/) | +| Provisioning - Cdn | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.Cdn/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.Cdn-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Cdn_1.0.0-beta.3/sdk/cdn/Azure.Provisioning.Cdn/) | | Provisioning - Cognitive Services | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Provisioning.CognitiveServices/1.2.0) | [docs](/dotnet/api/overview/azure/Provisioning.CognitiveServices-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.CognitiveServices_1.2.0/sdk/provisioning/Azure.Provisioning.CognitiveServices/) | -| Provisioning - Communication | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Provisioning.Communication/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Provisioning.Communication-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Communication_1.0.0-beta.4/sdk/provisioning/Azure.Provisioning.Communication/) | +| Provisioning - Communication | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Provisioning.Communication/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Provisioning.Communication-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Communication_1.0.0-beta.5/sdk/communication/Azure.Provisioning.Communication/) | | Provisioning - Compute | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Compute/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Compute-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Compute_1.0.0-beta.1/sdk/compute/Azure.Provisioning.Compute/) | | Provisioning - Container Registry | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.ContainerRegistry/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.ContainerRegistry-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ContainerRegistry_1.1.0/sdk/provisioning/Azure.Provisioning.ContainerRegistry/) | | Provisioning - Container Service | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.Provisioning.ContainerService/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/Provisioning.ContainerService-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ContainerService_1.0.0-beta.6/sdk/containerservice/Azure.Provisioning.ContainerService/) | | Provisioning - Containerinstance | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ContainerInstance/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ContainerInstance-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ContainerInstance_1.0.0-beta.1/sdk/containerinstance/Azure.Provisioning.ContainerInstance/) | | Provisioning - CosmosDB | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.CosmosDB/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.CosmosDB/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.CosmosDB-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.CosmosDB_1.0.0/sdk/provisioning/Azure.Provisioning.CosmosDB/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.CosmosDB_1.1.0-beta.1/sdk/provisioning/Azure.Provisioning.CosmosDB/) | +| Provisioning - Costmanagement | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.CostManagement/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.CostManagement-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.CostManagement_1.0.0-beta.1/sdk/costmanagement/Azure.Provisioning.CostManagement/) | | Provisioning - Deployment | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.Deployment/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.Deployment-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Deployment_1.0.0-beta.2/sdk/provisioning/Azure.Provisioning.Deployment/) | | Provisioning - Dns | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.Dns/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.Dns-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Dns_1.0.0-beta.2/sdk/provisioning/Azure.Provisioning.Dns/) | +| Provisioning - Durabletask | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.DurableTask/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.DurableTask-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.DurableTask_1.0.0-beta.1/sdk/durabletask/Azure.Provisioning.DurableTask/) | | Provisioning - Event Grid | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.EventGrid/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.EventGrid-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.EventGrid_1.1.0/sdk/provisioning/Azure.Provisioning.EventGrid/) | | Provisioning - Event Hubs | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.EventHubs/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.EventHubs-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.EventHubs_1.1.0/sdk/provisioning/Azure.Provisioning.EventHubs/) | -| Provisioning - Frontdoor | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.FrontDoor/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.FrontDoor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.FrontDoor_1.0.0-beta.1/sdk/provisioning/Azure.Provisioning.FrontDoor/) | +| Provisioning - Frontdoor | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.FrontDoor/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.FrontDoor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.FrontDoor_1.0.0-beta.2/sdk/frontdoor/Azure.Provisioning.FrontDoor/) | | Provisioning - Key Vault | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.KeyVault/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.KeyVault/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.KeyVault-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KeyVault_1.1.0/sdk/provisioning/Azure.Provisioning.KeyVault/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KeyVault_1.2.0-beta.1/sdk/provisioning/Azure.Provisioning.KeyVault/) | -| Provisioning - Kubernetes | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Provisioning.Kubernetes/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Provisioning.Kubernetes-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [main](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/hybridkubernetes/Azure.Provisioning.Kubernetes) | +| Provisioning - Kubernetes | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Provisioning.Kubernetes/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Provisioning.Kubernetes-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Kubernetes_1.0.0-beta.4/sdk/hybridkubernetes/Azure.Provisioning.Kubernetes/) | | Provisioning - Kubernetes Configuration | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.KubernetesConfiguration/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.KubernetesConfiguration-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KubernetesConfiguration_1.0.0-beta.3/sdk/provisioning/Azure.Provisioning.KubernetesConfiguration/) | | Provisioning - Kusto | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.Kusto/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.Kusto-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Kusto_1.0.0-beta.2/sdk/provisioning/Azure.Provisioning.Kusto/) | | Provisioning - Logic | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Logic/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Logic-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Logic_1.0.0-beta.1/sdk/logic/Azure.Provisioning.Logic/) | @@ -183,13 +186,17 @@ | Provisioning - Redis | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.Redis/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.Redis-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Redis_1.1.0/sdk/provisioning/Azure.Provisioning.Redis/) | | Provisioning - Redisenterprise | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.RedisEnterprise/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.RedisEnterprise-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.RedisEnterprise_1.1.0/sdk/provisioning/Azure.Provisioning.RedisEnterprise/) | | Provisioning - Resourcegraph | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ResourceGraph/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ResourceGraph-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ResourceGraph_1.0.0-beta.1/sdk/resourcegraph/Azure.Provisioning.ResourceGraph/) | -| Provisioning - Search | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.Search/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Search/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Search-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Search_1.0.0/sdk/provisioning/Azure.Provisioning.Search/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Search_1.1.0-beta.1/sdk/provisioning/Azure.Provisioning.Search/) | +| Provisioning - Search | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.Search/1.0.0)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.Search/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.Search-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Search_1.0.0/sdk/search/Azure.Provisioning.Search/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Search_1.1.0-beta.2/sdk/search/Azure.Provisioning.Search/) | | Provisioning - Securitycenter | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.SecurityCenter/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.SecurityCenter-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.SecurityCenter_1.0.0-beta.1/sdk/securitycenter/Azure.Provisioning.SecurityCenter/) | | Provisioning - Service Bus | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.ServiceBus/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.ServiceBus-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ServiceBus_1.1.0/sdk/provisioning/Azure.Provisioning.ServiceBus/) | +| Provisioning - Servicefabric | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ServiceFabric/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ServiceFabric-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ServiceFabric_1.0.0-beta.1/sdk/servicefabric/Azure.Provisioning.ServiceFabric/) | +| Provisioning - Servicefabricmanagedclusters | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ServiceFabricManagedClusters/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ServiceFabricManagedClusters-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ServiceFabricManagedClusters_1.0.0-beta.1/sdk/servicefabricmanagedclusters/Azure.Provisioning.ServiceFabricManagedClusters/) | | Provisioning - Servicenetworking | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ServiceNetworking/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ServiceNetworking-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ServiceNetworking_1.0.0-beta.1/sdk/servicenetworking/Azure.Provisioning.ServiceNetworking/) | | Provisioning - SignalR | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.SignalR/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.SignalR-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.SignalR_1.1.0/sdk/provisioning/Azure.Provisioning.SignalR/) | | Provisioning - SQL | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.Sql/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Sql/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Sql-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Sql_1.1.0/sdk/provisioning/Azure.Provisioning.Sql/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Sql_1.2.0-beta.1/sdk/provisioning/Azure.Provisioning.Sql/) | +| Provisioning - Standbypool | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.StandbyPool/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.StandbyPool-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.StandbyPool_1.0.0-beta.1/sdk/standbypool/Azure.Provisioning.StandbyPool/) | | Provisioning - Storage | NuGet [1.1.2](https://www.nuget.org/packages/Azure.Provisioning.Storage/1.1.2)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Storage/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Storage-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Storage_1.1.2/sdk/provisioning/Azure.Provisioning.Storage/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Storage_1.2.0-beta.1/sdk/provisioning/Azure.Provisioning.Storage/) | +| Provisioning - Trafficmanager | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.TrafficManager/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.TrafficManager-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.TrafficManager_1.0.0-beta.1/sdk/trafficmanager/Azure.Provisioning.TrafficManager/) | | Provisioning - WebPubSub | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.WebPubSub/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.WebPubSub-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.WebPubSub_1.1.0/sdk/provisioning/Azure.Provisioning.WebPubSub/) | | Resource Management - Advisor | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.Advisor/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.Advisor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Advisor_1.0.0-beta.6/sdk/advisor/Azure.ResourceManager.Advisor/) | | Resource Management - Agricultureplatform | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.AgriculturePlatform/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.AgriculturePlatform-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AgriculturePlatform_1.0.0-beta.2/sdk/agricultureplatform/Azure.ResourceManager.AgriculturePlatform/) | @@ -204,124 +211,128 @@ | Resource Management - Application Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ApplicationInsights/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ApplicationInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApplicationInsights_1.1.0/sdk/applicationinsights/Azure.ResourceManager.ApplicationInsights/) | | Resource Management - Appnetwork | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.AppNetwork/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppNetwork-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppNetwork_1.0.0-beta.1/sdk/appnetwork/Azure.ResourceManager.AppNetwork/) | | Resource Management - Arizeaiobservabilityeval | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.ArizeAIObservabilityEval/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ArizeAIObservabilityEval-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ArizeAIObservabilityEval_1.0.1/sdk/arizeaiobservabilityeval/Azure.ResourceManager.ArizeAIObservabilityEval/) | -| Resource Management - Artifactsigning | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.ArtifactSigning/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ArtifactSigning-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ArtifactSigning_1.0.1/sdk/artifactsigning/Azure.ResourceManager.ArtifactSigning/) | +| Resource Management - Artifactsigning | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.ArtifactSigning/1.0.1)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ArtifactSigning/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ArtifactSigning-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ArtifactSigning_1.0.1/sdk/artifactsigning/Azure.ResourceManager.ArtifactSigning/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ArtifactSigning_1.1.0-beta.1/sdk/artifactsigning/Azure.ResourceManager.ArtifactSigning/) | | Resource Management - Astro | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Astro/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Astro-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Astro_1.0.0-beta.3/sdk/astronomer/Azure.ResourceManager.Astro/) | | Resource Management - Attestation | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.Attestation/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.Attestation-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Attestation_1.0.0-beta.6/sdk/attestation/Azure.ResourceManager.Attestation/) | | Resource Management - Authorization | NuGet [1.1.7](https://www.nuget.org/packages/Azure.ResourceManager.Authorization/1.1.7) | [docs](/dotnet/api/overview/azure/ResourceManager.Authorization-readme) | GitHub [1.1.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Authorization_1.1.7/sdk/authorization/Azure.ResourceManager.Authorization/) | | Resource Management - Automanage | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Automanage/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Automanage-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Automanage_1.1.2/sdk/automanage/Azure.ResourceManager.Automanage/) | | Resource Management - Automation | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Automation/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Automation-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Automation_1.1.2/sdk/automation/Azure.ResourceManager.Automation/) | -| Resource Management - Azure AI Search | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.3.0)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Search-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.3.0/sdk/search/Azure.ResourceManager.Search/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.4.0-beta.1/sdk/search/Azure.ResourceManager.Search/) | -| Resource Management - Azure Stack HCI | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Hci-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.2.1/sdk/azurestackhci/Azure.ResourceManager.Hci/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.3.0-beta.1/sdk/azurestackhci/Azure.ResourceManager.Hci/) | +| Resource Management - Azure AI Search | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.3.0)
NuGet [1.4.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.4.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Search-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.3.0/sdk/search/Azure.ResourceManager.Search/)
GitHub [1.4.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.4.0-beta.2/sdk/search/Azure.ResourceManager.Search/) | +| Resource Management - Azure Stack HCI | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.2.1)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Hci-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.2.1/sdk/azurestackhci/Azure.ResourceManager.Hci/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.3.0-beta.2/sdk/azurestackhci/Azure.ResourceManager.Hci/) | | Resource Management - Azure VMware Solution | NuGet [1.6.1](https://www.nuget.org/packages/Azure.ResourceManager.Avs/1.6.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Avs-readme) | GitHub [1.6.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Avs_1.6.1/sdk/avs/Azure.ResourceManager.Avs/) | | Resource Management - Batch | NuGet [1.7.0](https://www.nuget.org/packages/Azure.ResourceManager.Batch/1.7.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Batch-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Batch_1.7.0/sdk/batch/Azure.ResourceManager.Batch/) | | Resource Management - Billing | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.Billing/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Billing-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Billing_1.2.2/sdk/billing/Azure.ResourceManager.Billing/) | | Resource Management - Billing Benefits | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.BillingBenefits/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.BillingBenefits-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.BillingBenefits_1.0.0-beta.5/sdk/billingbenefits/Azure.ResourceManager.BillingBenefits/) | +| Resource Management - Billing.Trust | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Billing.Trust/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Billing.Trust-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Billing.Trust_1.0.0-beta.1/sdk/billingtrust/Azure.ResourceManager.Billing.Trust/) | | Resource Management - Blueprint | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.Blueprint/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.Blueprint-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Blueprint_1.0.0-beta.6/sdk/blueprint/Azure.ResourceManager.Blueprint/) | | Resource Management - Bot Service | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.BotService/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.BotService/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.BotService-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.BotService_1.1.1/sdk/botservice/Azure.ResourceManager.BotService/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.BotService_1.2.0-beta.1/sdk/botservice/Azure.ResourceManager.BotService/) | | Resource Management - Carbonoptimization | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.CarbonOptimization/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.CarbonOptimization-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CarbonOptimization_1.0.1/sdk/carbon/Azure.ResourceManager.CarbonOptimization/) | | Resource Management - Certificateregistration | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.CertificateRegistration/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.CertificateRegistration-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CertificateRegistration_1.0.0/sdk/certificateregistration/Azure.ResourceManager.CertificateRegistration/) | -| Resource Management - Chaos | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Chaos-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.1.1/sdk/chaos/Azure.ResourceManager.Chaos/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.2.0-beta.1/sdk/chaos/Azure.ResourceManager.Chaos/) | -| Resource Management - Cloudhealth | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.CloudHealth/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.CloudHealth-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CloudHealth_1.0.0-beta.2/sdk/cloudhealth/Azure.ResourceManager.CloudHealth/) | -| Resource Management - Cognitive Services | NuGet [1.5.2](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.5.2)
NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.CognitiveServices-readme) | GitHub [1.5.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.5.2/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/)
GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.6.0-beta.1/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/) | +| Resource Management - Chaos | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.1.1)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Chaos-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.1.1/sdk/chaos/Azure.ResourceManager.Chaos/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.2.0-beta.2/sdk/chaos/Azure.ResourceManager.Chaos/) | +| Resource Management - Cloudhealth | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.CloudHealth/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.CloudHealth-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CloudHealth_1.0.0-beta.3/sdk/cloudhealth/Azure.ResourceManager.CloudHealth/) | +| Resource Management - Cognitive Services | NuGet [1.5.2](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.5.2)
NuGet [1.6.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.6.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.CognitiveServices-readme) | GitHub [1.5.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.5.2/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/)
GitHub [1.6.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.6.0-beta.3/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/) | | Resource Management - Communication | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.3.1/sdk/communication/Azure.ResourceManager.Communication/) | -| Resource Management - Compute | NuGet [1.14.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.14.0)
NuGet [1.15.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.15.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.14.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.14.0/sdk/compute/Azure.ResourceManager.Compute/)
GitHub [1.15.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.15.0-beta.1/sdk/compute/Azure.ResourceManager.Compute/) | -| Resource Management - Compute Fleet | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeFleet-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeFleet_1.0.0/sdk/computefleet/Azure.ResourceManager.ComputeFleet/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeFleet_1.1.0-beta.1/sdk/computefleet/Azure.ResourceManager.ComputeFleet/) | +| Resource Management - Compute | NuGet [1.16.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.16.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.16.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.16.0/sdk/compute/Azure.ResourceManager.Compute/) | +| Resource Management - Compute Fleet | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.0.0)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeFleet-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeFleet_1.0.0/sdk/computefleet/Azure.ResourceManager.ComputeFleet/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeFleet_1.1.0-beta.2/sdk/computefleet/Azure.ResourceManager.ComputeFleet/) | | Resource Management - Compute Schedule | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.1.0)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeSchedule-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeSchedule_1.1.0/sdk/computeschedule/Azure.ResourceManager.ComputeSchedule/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeSchedule_1.2.0-beta.4/sdk/computeschedule/Azure.ResourceManager.ComputeSchedule/) | +| Resource Management - Compute.Bulkactions | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute.BulkActions/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute.BulkActions-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute.BulkActions_1.1.0/sdk/compute/Azure.ResourceManager.Compute.BulkActions/) | | Resource Management - Compute.Recommender | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute.Recommender/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute.Recommender-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute.Recommender_1.0.0/sdk/computerecommender/Azure.ResourceManager.Compute.Recommender/) | -| Resource Management - Computelimit | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeLimit/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeLimit-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeLimit_1.0.0/sdk/computelimit/Azure.ResourceManager.ComputeLimit/) | +| Resource Management - Computebulkactions | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ComputeBulkActions/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeBulkActions_1.0.0-beta.1/sdk/computebulkactions/Azure.ResourceManager.ComputeBulkActions/) | +| Resource Management - Computelimit | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeLimit/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeLimit-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeLimit_1.3.0/sdk/computelimit/Azure.ResourceManager.ComputeLimit/) | | Resource Management - Confidential Ledger | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ConfidentialLedger-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConfidentialLedger_1.1.0/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger/) | | Resource Management - Confluent | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Confluent-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.2.1/sdk/confluent/Azure.ResourceManager.Confluent/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.3.0-beta.1/sdk/confluent/Azure.ResourceManager.Confluent/) | | Resource Management - Connected VMware vSphere | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedVMwarevSphere/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedVMwarevSphere-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedVMwarevSphere_1.1.2/sdk/connectedvmwarevsphere/Azure.ResourceManager.ConnectedVMwarevSphere/) | -| Resource Management - Connectedcache | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedCache/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedCache-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedCache_1.0.0-beta.2/sdk/connectedcache/Azure.ResourceManager.ConnectedCache/) | +| Resource Management - Connectedcache | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedCache/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedCache-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedCache_1.0.0-beta.3/sdk/connectedcache/Azure.ResourceManager.ConnectedCache/) | | Resource Management - Consumption | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Consumption/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Consumption-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Consumption_1.1.0/sdk/consumption/Azure.ResourceManager.Consumption/) | | Resource Management - Container Apps | NuGet [1.5.0](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.5.0)
NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppContainers-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.5.0/sdk/containerapps/Azure.ResourceManager.AppContainers/)
GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.6.0-beta.1/sdk/containerapps/Azure.ResourceManager.AppContainers/) | -| Resource Management - Container Instances | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerInstance-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.0/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/) | +| Resource Management - Container Instances | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerInstance-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.1/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/) | | Resource Management - Container Orchestrator Runtime | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ContainerOrchestratorRuntime/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerOrchestratorRuntime-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerOrchestratorRuntime_1.0.0-beta.2/sdk/containerorchestratorruntime/Azure.ResourceManager.ContainerOrchestratorRuntime/) | | Resource Management - Container Registry | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.4.0)
NuGet [1.5.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.5.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.4.0/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/)
GitHub [1.5.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.5.0-beta.2/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/) | -| Resource Management - Container Service | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.4.0)
NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerService-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.4.0/sdk/containerservice/Azure.ResourceManager.ContainerService/)
GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.5.0-beta.1/sdk/containerservice/Azure.ResourceManager.ContainerService/) | -| Resource Management - Container Service Fleet | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceFleet/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceFleet/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerServiceFleet-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceFleet_1.1.0/sdk/fleet/Azure.ResourceManager.ContainerServiceFleet/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceFleet_1.2.0-beta.3/sdk/fleet/Azure.ResourceManager.ContainerServiceFleet/) | +| Resource Management - Container Service | NuGet [1.5.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.5.0)
NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerService-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.5.0/sdk/containerservice/Azure.ResourceManager.ContainerService/)
GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.6.0-beta.1/sdk/containerservice/Azure.ResourceManager.ContainerService/) | +| Resource Management - Container Service Fleet | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceFleet/1.1.0)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceFleet/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerServiceFleet-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceFleet_1.1.0/sdk/fleet/Azure.ResourceManager.ContainerServiceFleet/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceFleet_1.2.0-beta.4/sdk/fleet/Azure.ResourceManager.ContainerServiceFleet/) | | Resource Management - Containerregistry.Tasks | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry.Tasks/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry.Tasks-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry.Tasks_1.0.0-beta.1/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry.Tasks/) | | Resource Management - Content Delivery Network | NuGet [1.5.1](https://www.nuget.org/packages/Azure.ResourceManager.Cdn/1.5.1)
NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Cdn/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Cdn-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Cdn_1.5.1/sdk/cdn/Azure.ResourceManager.Cdn/)
GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Cdn_1.6.0-beta.1/sdk/cdn/Azure.ResourceManager.Cdn/) | -| Resource Management - Cosmos DB | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.CosmosDB/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.CosmosDB-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CosmosDB_1.4.0/sdk/cosmosdb/Azure.ResourceManager.CosmosDB/) | +| Resource Management - Cosmos DB | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.CosmosDB/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.CosmosDB-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CosmosDB_1.4.1/sdk/cosmosdb/Azure.ResourceManager.CosmosDB/) | | Resource Management - Cosmos DB for PostgreSQL | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.CosmosDBForPostgreSql/1.0.0)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.CosmosDBForPostgreSql/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.CosmosDBForPostgreSql-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CosmosDBForPostgreSql_1.0.0/sdk/cosmosdbforpostgresql/Azure.ResourceManager.CosmosDBForPostgreSql/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CosmosDBForPostgreSql_1.1.0-beta.3/sdk/cosmosdbforpostgresql/Azure.ResourceManager.CosmosDBForPostgreSql/) | | Resource Management - Costmanagement | NuGet [1.0.3](https://www.nuget.org/packages/Azure.ResourceManager.CostManagement/1.0.3) | [docs](/dotnet/api/overview/azure/ResourceManager.CostManagement-readme) | GitHub [1.0.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CostManagement_1.0.3/sdk/costmanagement/Azure.ResourceManager.CostManagement/) | | Resource Management - Customer Insights | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.CustomerInsights/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.CustomerInsights-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CustomerInsights_1.0.0/sdk/customer-insights/Azure.ResourceManager.CustomerInsights/) | -| Resource Management - Data Box | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.DataBox/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DataBox-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBox_1.1.1/sdk/databox/Azure.ResourceManager.DataBox/) | -| Resource Management - Data Box Edge | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.DataBoxEdge/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DataBoxEdge-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBoxEdge_1.1.1/sdk/databoxedge/Azure.ResourceManager.DataBoxEdge/) | -| Resource Management - Data Factory | NuGet [1.11.0](https://www.nuget.org/packages/Azure.ResourceManager.DataFactory/1.11.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DataFactory-readme) | GitHub [1.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataFactory_1.11.0/sdk/datafactory/Azure.ResourceManager.DataFactory/) | +| Resource Management - Data Box | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.DataBox/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataBox-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBox_1.1.2/sdk/databox/Azure.ResourceManager.DataBox/) | +| Resource Management - Data Box Edge | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.DataBoxEdge/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataBoxEdge-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBoxEdge_1.1.2/sdk/databoxedge/Azure.ResourceManager.DataBoxEdge/) | +| Resource Management - Data Factory | NuGet [1.11.1](https://www.nuget.org/packages/Azure.ResourceManager.DataFactory/1.11.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DataFactory-readme) | GitHub [1.11.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataFactory_1.11.1/sdk/datafactory/Azure.ResourceManager.DataFactory/) | | Resource Management - Data Lake Analytics | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.DataLakeAnalytics/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataLakeAnalytics-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataLakeAnalytics_1.1.2/sdk/datalake-analytics/Azure.ResourceManager.DataLakeAnalytics/) | | Resource Management - Data Lake Store | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.DataLakeStore/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataLakeStore-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataLakeStore_1.1.2/sdk/datalake-store/Azure.ResourceManager.DataLakeStore/) | -| Resource Management - Data Migration | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DataMigration/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DataMigration-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataMigration_1.0.0/sdk/datamigration/Azure.ResourceManager.DataMigration/) | +| Resource Management - Data Migration | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.DataMigration/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DataMigration-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataMigration_1.0.1/sdk/datamigration/Azure.ResourceManager.DataMigration/) | | Resource Management - Data Protection | NuGet [1.8.0](https://www.nuget.org/packages/Azure.ResourceManager.DataProtectionBackup/1.8.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DataProtectionBackup-readme) | GitHub [1.8.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataProtectionBackup_1.8.0/sdk/dataprotection/Azure.ResourceManager.DataProtectionBackup/) | | Resource Management - Data Share | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.DataShare/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataShare-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataShare_1.1.2/sdk/datashare/Azure.ResourceManager.DataShare/) | | Resource Management - Database Fleet Manager | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DatabaseFleetManager/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DatabaseFleetManager-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DatabaseFleetManager_1.0.0-beta.1/sdk/fleet/Azure.ResourceManager.DatabaseFleetManager/) | | Resource Management - Database Watcher | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.DatabaseWatcher/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DatabaseWatcher-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DatabaseWatcher_1.0.0-beta.2/sdk/databasewatcher/Azure.ResourceManager.DatabaseWatcher/) | -| Resource Management - Datadog | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Datadog/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Datadog-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Datadog_1.0.0/sdk/datadog/Azure.ResourceManager.Datadog/) | +| Resource Management - Datadog | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Datadog/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Datadog/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Datadog-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Datadog_1.0.0/sdk/datadog/Azure.ResourceManager.Datadog/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Datadog_1.1.0-beta.1/sdk/datadog/Azure.ResourceManager.Datadog/) | | Resource Management - Defender EASM | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.DefenderEasm/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.DefenderEasm-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DefenderEasm_1.0.0-beta.4/sdk/defendereasm/Azure.ResourceManager.DefenderEasm/) | -| Resource Management - Dell.Storage | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Dell.Storage/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Dell.Storage-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dell.Storage_1.0.0/sdk/dellstorage/Azure.ResourceManager.Dell.Storage/) | +| Resource Management - Dell.Storage | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.Dell.Storage/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Dell.Storage-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dell.Storage_1.0.1/sdk/dellstorage/Azure.ResourceManager.Dell.Storage/) | | Resource Management - Dependencymap | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.DependencyMap/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DependencyMap-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DependencyMap_1.0.0-beta.2/sdk/dependencymap/Azure.ResourceManager.DependencyMap/) | | Resource Management - Deployment Manager | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.DeploymentManager/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.DeploymentManager-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeploymentManager_1.0.0-beta.3/sdk/deploymentmanager/Azure.ResourceManager.DeploymentManager/) | | Resource Management - Desktop Virtualization | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.DesktopVirtualization/1.3.2)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DesktopVirtualization/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DesktopVirtualization-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DesktopVirtualization_1.3.2/sdk/desktopvirtualization/Azure.ResourceManager.DesktopVirtualization/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DesktopVirtualization_1.4.0-beta.1/sdk/desktopvirtualization/Azure.ResourceManager.DesktopVirtualization/) | | Resource Management - Dev Center | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.DevCenter/1.0.2)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DevCenter/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DevCenter-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DevCenter_1.0.2/sdk/devcenter/Azure.ResourceManager.DevCenter/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DevCenter_1.1.0-beta.1/sdk/devcenter/Azure.ResourceManager.DevCenter/) | | Resource Management - Dev Spaces | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DevSpaces/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DevSpaces-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DevSpaces_1.0.0/sdk/devspaces/Azure.ResourceManager.DevSpaces/) | -| Resource Management - Device Provisioning Services | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.DeviceProvisioningServices/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DeviceProvisioningServices/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DeviceProvisioningServices-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceProvisioningServices_1.2.1/sdk/deviceprovisioningservices/Azure.ResourceManager.DeviceProvisioningServices/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceProvisioningServices_1.3.0-beta.1/sdk/deviceprovisioningservices/Azure.ResourceManager.DeviceProvisioningServices/) | +| Resource Management - Device Provisioning Services | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.DeviceProvisioningServices/1.2.1)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.DeviceProvisioningServices/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DeviceProvisioningServices-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceProvisioningServices_1.2.1/sdk/deviceprovisioningservices/Azure.ResourceManager.DeviceProvisioningServices/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceProvisioningServices_1.3.0-beta.2/sdk/deviceprovisioningservices/Azure.ResourceManager.DeviceProvisioningServices/) | | Resource Management - Device Registry | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DeviceRegistry/1.0.0)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.DeviceRegistry/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.DeviceRegistry-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceRegistry_1.0.0/sdk/deviceregistry/Azure.ResourceManager.DeviceRegistry/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceRegistry_1.1.0-beta.3/sdk/deviceregistry/Azure.ResourceManager.DeviceRegistry/) | | Resource Management - Device Update | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.DeviceUpdate/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DeviceUpdate-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceUpdate_1.0.2/sdk/deviceupdate/Azure.ResourceManager.DeviceUpdate/) | | Resource Management - DevOps Infrastructure | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DevOpsInfrastructure/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DevOpsInfrastructure-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DevOpsInfrastructure_1.0.0/sdk/devopsinfrastructure/Azure.ResourceManager.DevOpsInfrastructure/) | | Resource Management - DevTest Labs | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.DevTestLabs/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DevTestLabs-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DevTestLabs_1.1.2/sdk/devtestlabs/Azure.ResourceManager.DevTestLabs/) | | Resource Management - Digital Twins | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.DigitalTwins/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DigitalTwins-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DigitalTwins_1.3.2/sdk/digitaltwins/Azure.ResourceManager.DigitalTwins/) | | Resource Management - Disconnectedoperations | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DisconnectedOperations/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DisconnectedOperations-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DisconnectedOperations_1.0.0/sdk/disconnectedoperations/Azure.ResourceManager.DisconnectedOperations/) | -| Resource Management - DNS | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Dns/1.1.1)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Dns/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Dns-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dns_1.1.1/sdk/dns/Azure.ResourceManager.Dns/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dns_1.2.0-beta.3/sdk/dns/Azure.ResourceManager.Dns/) | -| Resource Management - DNS Resolver | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.DnsResolver/1.2.0)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DnsResolver/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DnsResolver-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DnsResolver_1.2.0/sdk/dnsresolver/Azure.ResourceManager.DnsResolver/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DnsResolver_1.3.0-beta.1/sdk/dnsresolver/Azure.ResourceManager.DnsResolver/) | +| Resource Management - DNS | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Dns/1.1.1)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Dns/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Dns-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dns_1.1.1/sdk/dns/Azure.ResourceManager.Dns/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dns_1.2.0-beta.4/sdk/dns/Azure.ResourceManager.Dns/) | +| Resource Management - DNS Resolver | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.DnsResolver/1.2.0)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.DnsResolver/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DnsResolver-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DnsResolver_1.2.0/sdk/dnsresolver/Azure.ResourceManager.DnsResolver/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DnsResolver_1.3.0-beta.2/sdk/dnsresolver/Azure.ResourceManager.DnsResolver/) | | Resource Management - Domainregistration | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DomainRegistration/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DomainRegistration-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DomainRegistration_1.0.0-beta.1/sdk/domainregistration/Azure.ResourceManager.DomainRegistration/) | | Resource Management - Durabletask | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.DurableTask/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DurableTask-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DurableTask_1.1.0/sdk/durabletask/Azure.ResourceManager.DurableTask/) | -| Resource Management - Dynatrace | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Dynatrace/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Dynatrace-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dynatrace_1.2.0/sdk/dynatrace/Azure.ResourceManager.Dynatrace/) | +| Resource Management - Dynatrace | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Dynatrace/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Dynatrace-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dynatrace_1.2.1/sdk/dynatrace/Azure.ResourceManager.Dynatrace/) | | Resource Management - Edge Order | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.EdgeOrder/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.EdgeOrder-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EdgeOrder_1.1.2/sdk/edgeorder/Azure.ResourceManager.EdgeOrder/) | | Resource Management - Edge Zones | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.EdgeZones/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.EdgeZones-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EdgeZones_1.0.0-beta.3/sdk/edgezones/Azure.ResourceManager.EdgeZones/) | -| Resource Management - Edgeactions | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.EdgeActions/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.EdgeActions-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EdgeActions_1.0.0-beta.2/sdk/edgeactions/Azure.ResourceManager.EdgeActions/) | -| Resource Management - Elastic | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Elastic/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Elastic-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Elastic_1.1.0/sdk/elastic/Azure.ResourceManager.Elastic/) | -| Resource Management - ElasticSan | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.ElasticSan/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ElasticSan-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ElasticSan_1.2.0/sdk/elasticsan/Azure.ResourceManager.ElasticSan/) | +| Resource Management - Edgeactions | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.EdgeActions/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.EdgeActions-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EdgeActions_1.0.0-beta.3/sdk/edgeactions/Azure.ResourceManager.EdgeActions/) | +| Resource Management - Elastic | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Elastic/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Elastic-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Elastic_1.1.1/sdk/elastic/Azure.ResourceManager.Elastic/) | +| Resource Management - ElasticSan | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.ElasticSan/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ElasticSan-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ElasticSan_1.2.1/sdk/elasticsan/Azure.ResourceManager.ElasticSan/) | | Resource Management - Energy Services | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.EnergyServices/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.EnergyServices-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EnergyServices_1.0.0-beta.4/sdk/openenergyplatform/Azure.ResourceManager.EnergyServices/) | -| Resource Management - Event Grid | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.EventGrid-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.1.0/sdk/eventgrid/Azure.ResourceManager.EventGrid/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.2.0-beta.2/sdk/eventgrid/Azure.ResourceManager.EventGrid/) | -| Resource Management - Event Hubs | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.EventHubs-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.2.1/sdk/eventhub/Azure.ResourceManager.EventHubs/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.3.0-beta.1/sdk/eventhub/Azure.ResourceManager.EventHubs/) | +| Resource Management - Event Grid | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.EventGrid-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.1.0/sdk/eventgrid/Azure.ResourceManager.EventGrid/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.2.0-beta.3/sdk/eventgrid/Azure.ResourceManager.EventGrid/) | +| Resource Management - Event Hubs | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.2.1)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.EventHubs-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.2.1/sdk/eventhub/Azure.ResourceManager.EventHubs/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.3.0-beta.2/sdk/eventhub/Azure.ResourceManager.EventHubs/) | | Resource Management - Extended Location | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.ExtendedLocations/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ExtendedLocations-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ExtendedLocations_1.1.2/sdk/extendedlocation/Azure.ResourceManager.ExtendedLocations/) | -| Resource Management - Fabric | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Fabric-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.0.0/sdk/fabric/Azure.ResourceManager.Fabric/) | +| Resource Management - Fabric | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Fabric-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.0.0/sdk/fabric/Azure.ResourceManager.Fabric/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.1.0-beta.1/sdk/fabric/Azure.ResourceManager.Fabric/) | | Resource Management - Fileshares | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.FileShares/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.FileShares-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FileShares_1.0.0/sdk/fileshares/Azure.ResourceManager.FileShares/) | | Resource Management - Fluid Relay | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.FluidRelay/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.FluidRelay-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FluidRelay_1.1.2/sdk/fluidrelay/Azure.ResourceManager.FluidRelay/) | -| Resource Management - Front Door | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.FrontDoor/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.FrontDoor-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FrontDoor_1.4.1/sdk/frontdoor/Azure.ResourceManager.FrontDoor/) | +| Resource Management - Front Door | NuGet [1.4.2](https://www.nuget.org/packages/Azure.ResourceManager.FrontDoor/1.4.2) | [docs](/dotnet/api/overview/azure/ResourceManager.FrontDoor-readme) | GitHub [1.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FrontDoor_1.4.2/sdk/frontdoor/Azure.ResourceManager.FrontDoor/) | | Resource Management - Graph Services | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.GraphServices/1.1.3) | [docs](/dotnet/api/overview/azure/ResourceManager.GraphServices-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.GraphServices_1.1.3/sdk/graphservices/Azure.ResourceManager.GraphServices/) | | Resource Management - Guest Configuration | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.GuestConfiguration/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.GuestConfiguration-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.GuestConfiguration_1.2.2/sdk/guestconfiguration/Azure.ResourceManager.GuestConfiguration/) | | Resource Management - Hardware Security Modules | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.HardwareSecurityModules/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.HardwareSecurityModules-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HardwareSecurityModules_1.0.1/sdk/hardwaresecuritymodules/Azure.ResourceManager.HardwareSecurityModules/) | | Resource Management - Hci.Vm | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Hci.Vm/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Hci.Vm-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci.Vm_1.0.0-beta.2/sdk/azurestackhci/Azure.ResourceManager.Hci.Vm/) | -| Resource Management - HDInsight | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.HDInsight/1.1.0)
NuGet [1.2.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.HDInsight/1.2.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.HDInsight-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HDInsight_1.1.0/sdk/hdinsight/Azure.ResourceManager.HDInsight/)
GitHub [1.2.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HDInsight_1.2.0-beta.5/sdk/hdinsight/Azure.ResourceManager.HDInsight/) | -| Resource Management - Health Bot | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.HealthBot/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.HealthBot-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthBot_1.2.0/sdk/healthbot/Azure.ResourceManager.HealthBot/) | +| Resource Management - HDInsight | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.HDInsight/1.1.0)
NuGet [1.2.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.HDInsight/1.2.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.HDInsight-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HDInsight_1.1.0/sdk/hdinsight/Azure.ResourceManager.HDInsight/)
GitHub [1.2.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HDInsight_1.2.0-beta.6/sdk/hdinsight/Azure.ResourceManager.HDInsight/) | +| Resource Management - Health Bot | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.HealthBot/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.HealthBot-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthBot_1.3.0/sdk/healthbot/Azure.ResourceManager.HealthBot/) | | Resource Management - Health Data AI Services | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.HealthDataAIServices/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.HealthDataAIServices-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthDataAIServices_1.0.1/sdk/healthdataaiservices/Azure.ResourceManager.HealthDataAIServices/) | | Resource Management - Healthcare APIs | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.HealthcareApis/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.HealthcareApis-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthcareApis_1.3.2/sdk/healthcareapis/Azure.ResourceManager.HealthcareApis/) | +| Resource Management - Horizondb | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.HorizonDB/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HorizonDB_1.0.0-beta.1/sdk/horizondb/Azure.ResourceManager.HorizonDB/) | | Resource Management - Hybrid Compute | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.HybridCompute/1.0.0)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.HybridCompute/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridCompute-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridCompute_1.0.0/sdk/hybridcompute/Azure.ResourceManager.HybridCompute/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridCompute_1.1.0-beta.2/sdk/hybridcompute/Azure.ResourceManager.HybridCompute/) | | Resource Management - Hybrid Connectivity | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.HybridConnectivity/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridConnectivity-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridConnectivity_1.1.1/sdk/hybridconnectivity/Azure.ResourceManager.HybridConnectivity/) | | Resource Management - Hybrid Container Service | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.HybridContainerService/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridContainerService-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridContainerService_1.0.2/sdk/hybridaks/Azure.ResourceManager.HybridContainerService/) | | Resource Management - Hybrid Kubernetes | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.Kubernetes/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.Kubernetes-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Kubernetes_1.0.0-beta.6/sdk/hybridkubernetes/Azure.ResourceManager.Kubernetes/) | | Resource Management - Hybrid Network | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.HybridNetwork/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridNetwork-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridNetwork_1.0.0-beta.3/sdk/hybridnetwork/Azure.ResourceManager.HybridNetwork/) | -| Resource Management - Impactreporting | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ImpactReporting/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ImpactReporting-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ImpactReporting_1.0.0-beta.1/sdk/impactreporting/Azure.ResourceManager.ImpactReporting/) | +| Resource Management - Impactreporting | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ImpactReporting/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ImpactReporting-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ImpactReporting_1.0.0-beta.2/sdk/impactreporting/Azure.ResourceManager.ImpactReporting/) | | Resource Management - Informatica Data Management | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.InformaticaDataManagement/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.InformaticaDataManagement-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.InformaticaDataManagement_1.0.0/sdk/informaticadatamanagement/Azure.ResourceManager.InformaticaDataManagement/) | | Resource Management - IoT Central | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral/1.0.1)
NuGet [1.1.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral/1.1.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.IotCentral-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotCentral_1.0.1/sdk/iotcentral/Azure.ResourceManager.IotCentral/)
GitHub [1.1.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotCentral_1.1.0-beta.4/sdk/iotcentral/Azure.ResourceManager.IotCentral/) | -| Resource Management - IoT Firmware Defense | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.IotFirmwareDefense-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.1.0/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/) | -| Resource Management - IoT Hub | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.1.1)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.IotHub-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.1.1/sdk/iothub/Azure.ResourceManager.IotHub/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.2.0-beta.2/sdk/iothub/Azure.ResourceManager.IotHub/) | -| Resource Management - IoT Operations | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.IotOperations/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.IotOperations/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.IotOperations-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotOperations_1.0.0/sdk/iotoperations/Azure.ResourceManager.IotOperations/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotOperations_1.1.0-beta.1/sdk/iotoperations/Azure.ResourceManager.IotOperations/) | +| Resource Management - IoT Firmware Defense | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.IotFirmwareDefense-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.1.1/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/) | +| Resource Management - IoT Hub | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.1.1)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.IotHub-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.1.1/sdk/iothub/Azure.ResourceManager.IotHub/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.2.0-beta.3/sdk/iothub/Azure.ResourceManager.IotHub/) | +| Resource Management - IoT Operations | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.IotOperations/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.IotOperations-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotOperations_1.1.0/sdk/iotoperations/Azure.ResourceManager.IotOperations/) | | Resource Management - Key Vault | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.KeyVault/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.KeyVault-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.KeyVault_1.4.0/sdk/keyvault/Azure.ResourceManager.KeyVault/) | | Resource Management - Kubernetes Configuration | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.KubernetesConfiguration/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.KubernetesConfiguration-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.KubernetesConfiguration_1.2.1/sdk/kubernetesconfiguration/Azure.ResourceManager.KubernetesConfiguration/) | | Resource Management - Kubernetesconfiguration.Extensions | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.KubernetesConfiguration.Extensions/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.KubernetesConfiguration.Extensions-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.KubernetesConfiguration.Extensions_1.0.0/sdk/kubernetesconfiguration/Azure.ResourceManager.KubernetesConfiguration.Extensions/) | -| Resource Management - Kusto | NuGet [1.6.2](https://www.nuget.org/packages/Azure.ResourceManager.Kusto/1.6.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Kusto-readme) | GitHub [1.6.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Kusto_1.6.2/sdk/kusto/Azure.ResourceManager.Kusto/) | +| Resource Management - Kusto | NuGet [1.6.3](https://www.nuget.org/packages/Azure.ResourceManager.Kusto/1.6.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Kusto-readme) | GitHub [1.6.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Kusto_1.6.3/sdk/kusto/Azure.ResourceManager.Kusto/) | | Resource Management - Lab Services | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.LabServices/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.LabServices-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.LabServices_1.1.2/sdk/labservices/Azure.ResourceManager.LabServices/) | | Resource Management - Lambdatesthyperexecute | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.LambdaTestHyperExecute/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.LambdaTestHyperExecute-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.LambdaTestHyperExecute_1.0.1/sdk/lambdatesthyperexecute/Azure.ResourceManager.LambdaTestHyperExecute/) | | Resource Management - Large Instance | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.LargeInstance/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.LargeInstance-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.LargeInstance_1.0.0-beta.3/sdk/azurelargeinstance/Azure.ResourceManager.LargeInstance/) | -| Resource Management - Load Testing | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.LoadTesting/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.LoadTesting-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.LoadTesting_1.1.2/sdk/loadtestservice/Azure.ResourceManager.LoadTesting/) | -| Resource Management - Log Analytics | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.OperationalInsights/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.OperationalInsights-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OperationalInsights_1.3.1/sdk/operationalinsights/Azure.ResourceManager.OperationalInsights/) | +| Resource Management - Load Testing | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.LoadTesting/1.1.2)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.LoadTesting/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.LoadTesting-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.LoadTesting_1.1.2/sdk/loadtestservice/Azure.ResourceManager.LoadTesting/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.LoadTesting_1.2.0-beta.1/sdk/loadtestservice/Azure.ResourceManager.LoadTesting/) | +| Resource Management - Log Analytics | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.OperationalInsights/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.OperationalInsights-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OperationalInsights_1.3.2/sdk/operationalinsights/Azure.ResourceManager.OperationalInsights/) | | Resource Management - Logic Apps | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Logic/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Logic-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Logic_1.2.0/sdk/logic/Azure.ResourceManager.Logic/) | -| Resource Management - Machine Learning | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.MachineLearning/1.2.3) | [docs](/dotnet/api/overview/azure/ResourceManager.MachineLearning-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MachineLearning_1.2.3/sdk/machinelearningservices/Azure.ResourceManager.MachineLearning/) | +| Resource Management - Machine Learning | NuGet [1.2.4](https://www.nuget.org/packages/Azure.ResourceManager.MachineLearning/1.2.4) | [docs](/dotnet/api/overview/azure/ResourceManager.MachineLearning-readme) | GitHub [1.2.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MachineLearning_1.2.4/sdk/machinelearningservices/Azure.ResourceManager.MachineLearning/) | | Resource Management - Machine Learning Compute | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.MachineLearningCompute/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.MachineLearningCompute-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MachineLearningCompute_1.0.0-beta.6/sdk/machinelearningcompute/Azure.ResourceManager.MachineLearningCompute/) | | Resource Management - Maintenance | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.Maintenance/1.1.3)
NuGet [1.2.0-beta.10](https://www.nuget.org/packages/Azure.ResourceManager.Maintenance/1.2.0-beta.10) | [docs](/dotnet/api/overview/azure/ResourceManager.Maintenance-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Maintenance_1.1.3/sdk/maintenance/Azure.ResourceManager.Maintenance/)
GitHub [1.2.0-beta.10](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Maintenance_1.2.0-beta.10/sdk/maintenance/Azure.ResourceManager.Maintenance/) | -| Resource Management - Managed Grafana | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Grafana/1.1.1)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Grafana/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Grafana-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Grafana_1.1.1/sdk/grafana/Azure.ResourceManager.Grafana/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Grafana_1.2.0-beta.3/sdk/grafana/Azure.ResourceManager.Grafana/) | +| Resource Management - Managed Grafana | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Grafana/1.1.1)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Grafana/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Grafana-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Grafana_1.1.1/sdk/grafana/Azure.ResourceManager.Grafana/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Grafana_1.2.0-beta.4/sdk/grafana/Azure.ResourceManager.Grafana/) | | Resource Management - Managed Network | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.ManagedNetwork/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedNetwork-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedNetwork_1.0.0-beta.6/sdk/managednetwork/Azure.ResourceManager.ManagedNetwork/) | | Resource Management - Managed Network Fabric | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.ManagedNetworkFabric/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedNetworkFabric-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedNetworkFabric_1.2.0/sdk/managednetworkfabric/Azure.ResourceManager.ManagedNetworkFabric/) | | Resource Management - Managed Service Identity | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.ManagedServiceIdentities/1.4.1)
NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ManagedServiceIdentities/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedServiceIdentities-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedServiceIdentities_1.4.1/sdk/managedserviceidentity/Azure.ResourceManager.ManagedServiceIdentities/)
GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedServiceIdentities_1.5.0-beta.1/sdk/managedserviceidentity/Azure.ResourceManager.ManagedServiceIdentities/) | @@ -333,71 +344,77 @@ | Resource Management - Marketplace Ordering | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.MarketplaceOrdering/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.MarketplaceOrdering-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MarketplaceOrdering_1.1.2/sdk/marketplaceordering/Azure.ResourceManager.MarketplaceOrdering/) | | Resource Management - Migration Assessment | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Migration.Assessment/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Migration.Assessment-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Migration.Assessment_1.0.0-beta.2/sdk/migrationassessment/Azure.ResourceManager.Migration.Assessment/) | | Resource Management - Migration Discovery SAP | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.MigrationDiscoverySap/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.MigrationDiscoverySap-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MigrationDiscoverySap_1.0.0-beta.3/sdk/migrationdiscoverysap/Azure.ResourceManager.MigrationDiscoverySap/) | -| Resource Management - Mongo Cluster | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.MongoCluster/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoCluster-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoCluster_1.0.0/sdk/mongocluster/Azure.ResourceManager.MongoCluster/) | -| Resource Management - Mongodbatlas | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.MongoDBAtlas/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoDBAtlas-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoDBAtlas_1.0.1/sdk/mongodbatlas/Azure.ResourceManager.MongoDBAtlas/) | -| Resource Management - Monitor | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.3.1)
NuGet [1.4.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.4.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.3.1/sdk/monitor/Azure.ResourceManager.Monitor/)
GitHub [1.4.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.4.0-beta.4/sdk/monitor/Azure.ResourceManager.Monitor/) | -| Resource Management - Monitor.Pipelinegroups | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Monitor.PipelineGroups/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor.PipelineGroups-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor.PipelineGroups_1.0.0-beta.1/sdk/monitorpipelinegroups/Azure.ResourceManager.Monitor.PipelineGroups/) | -| Resource Management - Monitor.Slis | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Monitor.Slis/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor.Slis-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor.Slis_1.0.0-beta.2/sdk/monitor/Azure.ResourceManager.Monitor.Slis/) | -| Resource Management - MySQL | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.MySql/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MySql-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MySql_1.2.0/sdk/mysql/Azure.ResourceManager.MySql/) | -| Resource Management - NetApp Files | NuGet [1.16.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.16.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.16.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.16.0/sdk/netapp/Azure.ResourceManager.NetApp/) | -| Resource Management - Network | NuGet [1.15.0](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.15.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.15.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.15.0/sdk/network/Azure.ResourceManager.Network/) | -| Resource Management - Network Cloud | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkCloud-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.3.0/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/) | +| Resource Management - Mongo Cluster | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.MongoCluster/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoCluster-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoCluster_1.1.0/sdk/mongocluster/Azure.ResourceManager.MongoCluster/) | +| Resource Management - Mongodbatlas | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.MongoDBAtlas/1.0.1)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.MongoDBAtlas/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoDBAtlas-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoDBAtlas_1.0.1/sdk/mongodbatlas/Azure.ResourceManager.MongoDBAtlas/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoDBAtlas_1.1.0-beta.1/sdk/mongodbatlas/Azure.ResourceManager.MongoDBAtlas/) | +| Resource Management - Monitor | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.3.1)
NuGet [1.4.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.4.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.3.1/sdk/monitor/Azure.ResourceManager.Monitor/)
GitHub [1.4.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.4.0-beta.5/sdk/monitor/Azure.ResourceManager.Monitor/) | +| Resource Management - Monitor.Pipelinegroups | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Monitor.PipelineGroups/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor.PipelineGroups-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor.PipelineGroups_1.0.0/sdk/monitorpipelinegroups/Azure.ResourceManager.Monitor.PipelineGroups/) | +| Resource Management - Monitor.Slis | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Monitor.Slis/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor.Slis-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor.Slis_1.0.0-beta.3/sdk/monitor/Azure.ResourceManager.Monitor.Slis/) | +| Resource Management - Monitor.Workspaces | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Monitor.Workspaces/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor.Workspaces-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor.Workspaces_1.0.0/sdk/monitor/Azure.ResourceManager.Monitor.Workspaces/) | +| Resource Management - MySQL | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.MySql/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MySql-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MySql_1.2.1/sdk/mysql/Azure.ResourceManager.MySql/) | +| Resource Management - Napsteromniagentapi | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.NapsterOmniagentApi/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NapsterOmniagentApi-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NapsterOmniagentApi_1.0.0-beta.1/sdk/napsteromniagentapi/Azure.ResourceManager.NapsterOmniagentApi/) | +| Resource Management - NetApp Files | NuGet [1.17.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.17.0)
NuGet [1.18.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.18.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.17.0/sdk/netapp/Azure.ResourceManager.NetApp/)
GitHub [1.18.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.18.0-beta.1/sdk/netapp/Azure.ResourceManager.NetApp/) | +| Resource Management - Network | NuGet [1.16.1](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.16.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.16.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.16.1/sdk/network/Azure.ResourceManager.Network/) | +| Resource Management - Network Cloud | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.3.0)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkCloud-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.3.0/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.4.0-beta.1/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/) | | Resource Management - Network Function | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkFunction/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkFunction-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkFunction_1.0.0/sdk/networkfunction/Azure.ResourceManager.NetworkFunction/) | -| Resource Management - New Relic Observability | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NewRelicObservability-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.1.1/sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.2.0-beta.1/sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/) | +| Resource Management - New Relic Observability | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.1.1)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.NewRelicObservability-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.1.1/sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.2.0-beta.2/sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/) | | Resource Management - Nginx | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Nginx/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Nginx-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Nginx_1.1.0/sdk/nginx/Azure.ResourceManager.Nginx/) | -| Resource Management - Notification Hubs | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.1.1)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.NotificationHubs-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.1.1/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.2.0-beta.3/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/) | -| Resource Management - Onlineexperimentation | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.OnlineExperimentation/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.OnlineExperimentation-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OnlineExperimentation_1.0.0-beta.2/sdk/onlineexperimentation/Azure.ResourceManager.OnlineExperimentation/) | -| Resource Management - Oracle Database | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.OracleDatabase/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.OracleDatabase-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OracleDatabase_1.2.0/sdk/oracle/Azure.ResourceManager.OracleDatabase/) | -| Resource Management - Orbital | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Orbital/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Orbital-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Orbital_1.1.2/sdk/orbital/Azure.ResourceManager.Orbital/) | -| Resource Management - Palo Alto Networks - Next Generation Firewall | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.PaloAltoNetworks.Ngfw/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PaloAltoNetworks.Ngfw-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.2.0/sdk/paloaltonetworks.ngfw/Azure.ResourceManager.PaloAltoNetworks.Ngfw/) | -| Resource Management - Peering | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.Peering/1.2.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Peering-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Peering_1.2.3/sdk/peering/Azure.ResourceManager.Peering/) | -| Resource Management - Pineconevectordb | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.PineconeVectorDB/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PineconeVectorDB-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PineconeVectorDB_1.0.0-beta.2/sdk/pineconevectordb/Azure.ResourceManager.PineconeVectorDB/) | -| Resource Management - Planetarycomputer | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.PlanetaryComputer/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PlanetaryComputer-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PlanetaryComputer_1.0.0/sdk/planetarycomputer/Azure.ResourceManager.PlanetaryComputer/) | -| Resource Management - Playwright | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Playwright/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Playwright/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Playwright-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Playwright_1.0.0/sdk/playwright/Azure.ResourceManager.Playwright/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Playwright_1.1.0-beta.1/sdk/playwright/Azure.ResourceManager.Playwright/) | -| Resource Management - Policy Insights | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.PolicyInsights/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PolicyInsights-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PolicyInsights_1.3.0/sdk/policyinsights/Azure.ResourceManager.PolicyInsights/) | +| Resource Management - Notification Hubs | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.1.1)
NuGet [1.2.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.2.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.NotificationHubs-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.1.1/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/)
GitHub [1.2.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.2.0-beta.5/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/) | +| Resource Management - Onlineexperimentation | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.OnlineExperimentation/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.OnlineExperimentation-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OnlineExperimentation_1.0.0-beta.3/sdk/onlineexperimentation/Azure.ResourceManager.OnlineExperimentation/) | +| Resource Management - Oracle Database | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.OracleDatabase/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.OracleDatabase-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OracleDatabase_1.2.1/sdk/oracle/Azure.ResourceManager.OracleDatabase/) | +| Resource Management - Orbital | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.Orbital/1.1.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Orbital-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Orbital_1.1.3/sdk/orbital/Azure.ResourceManager.Orbital/) | +| Resource Management - Palo Alto Networks - Next Generation Firewall | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.PaloAltoNetworks.Ngfw/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PaloAltoNetworks.Ngfw-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.2.1/sdk/paloaltonetworks.ngfw/Azure.ResourceManager.PaloAltoNetworks.Ngfw/) | +| Resource Management - Peering | NuGet [1.2.4](https://www.nuget.org/packages/Azure.ResourceManager.Peering/1.2.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Peering-readme) | GitHub [1.2.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Peering_1.2.4/sdk/peering/Azure.ResourceManager.Peering/) | +| Resource Management - Pineconevectordb | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.PineconeVectorDB/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.PineconeVectorDB-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PineconeVectorDB_1.0.0-beta.3/sdk/pineconevectordb/Azure.ResourceManager.PineconeVectorDB/) | +| Resource Management - Planetarycomputer | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.PlanetaryComputer/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PlanetaryComputer-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PlanetaryComputer_1.0.1/sdk/planetarycomputer/Azure.ResourceManager.PlanetaryComputer/) | +| Resource Management - Playwright | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Playwright/1.0.0)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Playwright/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Playwright-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Playwright_1.0.0/sdk/playwright/Azure.ResourceManager.Playwright/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Playwright_1.1.0-beta.2/sdk/playwright/Azure.ResourceManager.Playwright/) | +| Resource Management - Policy Insights | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.PolicyInsights/1.3.0)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.PolicyInsights/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PolicyInsights-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PolicyInsights_1.3.0/sdk/policyinsights/Azure.ResourceManager.PolicyInsights/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PolicyInsights_1.4.0-beta.1/sdk/policyinsights/Azure.ResourceManager.PolicyInsights/) | | Resource Management - Portalservicescopilot | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.PortalServicesCopilot/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PortalServicesCopilot-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PortalServicesCopilot_1.0.0-beta.2/sdk/portalservices/Azure.ResourceManager.PortalServicesCopilot/) | -| Resource Management - PostgreSQL | NuGet [1.4.2](https://www.nuget.org/packages/Azure.ResourceManager.PostgreSql/1.4.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PostgreSql-readme) | GitHub [1.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PostgreSql_1.4.2/sdk/postgresql/Azure.ResourceManager.PostgreSql/) | +| Resource Management - PostgreSQL | NuGet [1.4.2](https://www.nuget.org/packages/Azure.ResourceManager.PostgreSql/1.4.2)
NuGet [1.5.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.PostgreSql/1.5.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PostgreSql-readme) | GitHub [1.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PostgreSql_1.4.2/sdk/postgresql/Azure.ResourceManager.PostgreSql/)
GitHub [1.5.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PostgreSql_1.5.0-beta.2/sdk/postgresql/Azure.ResourceManager.PostgreSql/) | | Resource Management - Power BI Dedicated | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.PowerBIDedicated/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PowerBIDedicated-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PowerBIDedicated_1.0.0/sdk/powerbidedicated/Azure.ResourceManager.PowerBIDedicated/) | -| Resource Management - Private DNS | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.PrivateDns/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PrivateDns-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PrivateDns_1.2.2/sdk/privatedns/Azure.ResourceManager.PrivateDns/) | -| Resource Management - Provider Hub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.ProviderHub/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ProviderHub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ProviderHub_1.2.0/sdk/providerhub/Azure.ResourceManager.ProviderHub/) | +| Resource Management - Private DNS | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.PrivateDns/1.2.3) | [docs](/dotnet/api/overview/azure/ResourceManager.PrivateDns-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PrivateDns_1.2.3/sdk/privatedns/Azure.ResourceManager.PrivateDns/) | +| Resource Management - Programenrollment | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ProgramEnrollment/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ProgramEnrollment-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ProgramEnrollment_1.0.0-beta.1/sdk/programenrollment/Azure.ResourceManager.ProgramEnrollment/) | +| Resource Management - Provider Hub | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.ProviderHub/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ProviderHub-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ProviderHub_1.2.1/sdk/providerhub/Azure.ResourceManager.ProviderHub/) | | Resource Management - Purestorageblock | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.PureStorageBlock/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PureStorageBlock-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PureStorageBlock_1.0.1/sdk/purestorageblock/Azure.ResourceManager.PureStorageBlock/) | -| Resource Management - Purview | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Purview-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.1.0/sdk/purview/Azure.ResourceManager.Purview/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.2.0-beta.3/sdk/purview/Azure.ResourceManager.Purview/) | +| Resource Management - Purview | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.1.0)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Purview-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.1.0/sdk/purview/Azure.ResourceManager.Purview/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.2.0-beta.4/sdk/purview/Azure.ResourceManager.Purview/) | | Resource Management - Quantum | NuGet [1.0.0-beta.7](https://www.nuget.org/packages/Azure.ResourceManager.Quantum/1.0.0-beta.7) | [docs](/dotnet/api/overview/azure/ResourceManager.Quantum-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quantum_1.0.0-beta.7/sdk/quantum/Azure.ResourceManager.Quantum/) | -| Resource Management - Qumulo | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Qumulo/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Qumulo-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Qumulo_1.2.0/sdk/qumulo/Azure.ResourceManager.Qumulo/) | -| Resource Management - Quota | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Quota/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Quota-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quota_1.2.0/sdk/quota/Azure.ResourceManager.Quota/) | -| Resource Management - Recovery Services | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServices/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServices-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServices_1.2.0/sdk/recoveryservices/Azure.ResourceManager.RecoveryServices/) | +| Resource Management - Qumulo | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.Qumulo/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Qumulo-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Qumulo_1.3.0/sdk/qumulo/Azure.ResourceManager.Qumulo/) | +| Resource Management - Quota | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Quota/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Quota-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quota_1.2.1/sdk/quota/Azure.ResourceManager.Quota/) | +| Resource Management - Recovery Services | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServices/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServices-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServices_1.3.0/sdk/recoveryservices/Azure.ResourceManager.RecoveryServices/) | | Resource Management - Recovery Services Backup | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesBackup/1.3.1)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesBackup/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesBackup-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesBackup_1.3.1/sdk/recoveryservices-backup/Azure.ResourceManager.RecoveryServicesBackup/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesBackup_1.4.0-beta.1/sdk/recoveryservices-backup/Azure.ResourceManager.RecoveryServicesBackup/) | | Resource Management - Recovery Services Data Replication | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesDataReplication/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesDataReplication-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesDataReplication_1.0.1/sdk/recoveryservices-datareplication/Azure.ResourceManager.RecoveryServicesDataReplication/) | | Resource Management - Recovery Services Site Recovery | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesSiteRecovery/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesSiteRecovery-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesSiteRecovery_1.3.1/sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/) | | Resource Management - Redhatopenshift | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedHatOpenShift/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedHatOpenShift_1.0.0-beta.1/sdk/redhatopenshift/Azure.ResourceManager.RedHatOpenShift/) | -| Resource Management - Redis | NuGet [1.5.1](https://www.nuget.org/packages/Azure.ResourceManager.Redis/1.5.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Redis-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Redis_1.5.1/sdk/redis/Azure.ResourceManager.Redis/) | -| Resource Management - Redis Enterprise | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.RedisEnterprise-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterprise_1.3.0/sdk/redisenterprise/Azure.ResourceManager.RedisEnterprise/) | +| Resource Management - Redis | NuGet [1.5.1](https://www.nuget.org/packages/Azure.ResourceManager.Redis/1.5.1)
NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Redis/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Redis-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Redis_1.5.1/sdk/redis/Azure.ResourceManager.Redis/)
GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Redis_1.6.0-beta.1/sdk/redis/Azure.ResourceManager.Redis/) | +| Resource Management - Redis Enterprise | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise/1.3.0)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RedisEnterprise-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterprise_1.3.0/sdk/redisenterprise/Azure.ResourceManager.RedisEnterprise/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterprise_1.4.0-beta.1/sdk/redisenterprise/Azure.ResourceManager.RedisEnterprise/) | | Resource Management - Redis Enterprise Cache | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterpriseCache/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RedisEnterpriseCache-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterpriseCache_1.0.0-beta.1/sdk/redisenterprise/Azure.ResourceManager.RedisEnterpriseCache/) | | Resource Management - Relationships | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Relationships/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Relationships-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Relationships_1.0.0-beta.1/sdk/relationships/Azure.ResourceManager.Relationships/) | | Resource Management - Relay | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.Relay/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Relay-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Relay_1.2.2/sdk/relay/Azure.ResourceManager.Relay/) | | Resource Management - Reservations | NuGet [1.4.2](https://www.nuget.org/packages/Azure.ResourceManager.Reservations/1.4.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Reservations-readme) | GitHub [1.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Reservations_1.4.2/sdk/reservations/Azure.ResourceManager.Reservations/) | -| Resource Management - Resource Connector | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ResourceConnector/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceConnector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceConnector_1.0.0-beta.4/sdk/resourceconnector/Azure.ResourceManager.ResourceConnector/) | -| Resource Management - Resource Graph | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ResourceGraph/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceGraph-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceGraph_1.1.0/sdk/resourcegraph/Azure.ResourceManager.ResourceGraph/) | -| Resource Management - Resource Health | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.0.0)
NuGet [1.1.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.1.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceHealth-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.0.0/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/)
GitHub [1.1.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.1.0-beta.5/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/) | +| Resource Management - Resiliencemanagement | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ResilienceManagement/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ResilienceManagement-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResilienceManagement_1.0.0-beta.1/sdk/azureresiliencemanagement/Azure.ResourceManager.ResilienceManagement/) | +| Resource Management - Resource Connector | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.ResourceConnector/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceConnector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceConnector_1.0.0-beta.5/sdk/resourceconnector/Azure.ResourceManager.ResourceConnector/) | +| Resource Management - Resource Graph | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceGraph/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceGraph-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceGraph_1.1.1/sdk/resourcegraph/Azure.ResourceManager.ResourceGraph/) | +| Resource Management - Resource Health | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceHealth-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.1.0/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/) | | Resource Management - Resource Manager | NuGet [1.14.0](https://www.nuget.org/packages/Azure.ResourceManager/1.14.0) | [docs](/dotnet/api/overview/azure/ResourceManager-readme) | GitHub [1.14.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager_1.14.0/sdk/resourcemanager/Azure.ResourceManager/) | -| Resource Management - Resource Mover | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.1)
NuGet [1.1.2-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.2-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceMover-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/)
GitHub [1.1.2-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.2-beta.3/sdk/resourcemover/Azure.ResourceManager.ResourceMover/) | -| Resource Management - Resources | NuGet [1.11.2](https://www.nuget.org/packages/Azure.ResourceManager.Resources/1.11.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources-readme) | GitHub [1.11.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources_1.11.2/sdk/resources/Azure.ResourceManager.Resources/) | -| Resource Management - Resources.Deploymentstacks | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Resources.DeploymentStacks/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.DeploymentStacks-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources.DeploymentStacks_1.0.0/sdk/resources/Azure.ResourceManager.Resources.DeploymentStacks/) | +| Resource Management - Resource Mover | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.1)
NuGet [1.1.2-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.2-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceMover-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/)
GitHub [1.1.2-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.2-beta.5/sdk/resourcemover/Azure.ResourceManager.ResourceMover/) | +| Resource Management - Resources | NuGet [1.11.2](https://www.nuget.org/packages/Azure.ResourceManager.Resources/1.11.2)
NuGet [1.12.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources/1.12.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources-readme) | GitHub [1.11.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources_1.11.2/sdk/resources/Azure.ResourceManager.Resources/)
GitHub [1.12.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources_1.12.0-beta.1/sdk/resources/Azure.ResourceManager.Resources/) | +| Resource Management - Resources.Bicep | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources.Bicep/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.Bicep-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources.Bicep_1.0.0-beta.1/sdk/resources/Azure.ResourceManager.Resources.Bicep/) | +| Resource Management - Resources.Deployments | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources.Deployments/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.Deployments-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources.Deployments_1.0.0-beta.1/sdk/resources/Azure.ResourceManager.Resources.Deployments/) | +| Resource Management - Resources.Deploymentstacks | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources.DeploymentStacks/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.DeploymentStacks-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources.DeploymentStacks_1.0.1/sdk/resources/Azure.ResourceManager.Resources.DeploymentStacks/) | | Resource Management - Resources.Policy | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources.Policy/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.Policy-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources.Policy_1.0.0-beta.1/sdk/resources/Azure.ResourceManager.Resources.Policy/) | | Resource Management - ScVmm | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ScVmm/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ScVmm-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ScVmm_1.0.0/sdk/arc-scvmm/Azure.ResourceManager.ScVmm/) | | Resource Management - Secretsstoreextension | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.SecretsStoreExtension/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.SecretsStoreExtension-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecretsStoreExtension_1.0.0-beta.2/sdk/secretsstoreextension/Azure.ResourceManager.SecretsStoreExtension/) | -| Resource Management - Security | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.1.0)
NuGet [1.2.0-beta.7](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.2.0-beta.7) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityCenter-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.1.0/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/)
GitHub [1.2.0-beta.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.2.0-beta.7/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/) | +| Resource Management - Security | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.1.0)
NuGet [1.2.0-beta.8](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.2.0-beta.8) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityCenter-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.1.0/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/)
GitHub [1.2.0-beta.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.2.0-beta.8/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/) | | Resource Management - Security DevOps | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.SecurityDevOps/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityDevOps-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityDevOps_1.0.0-beta.6/sdk/securitydevops/Azure.ResourceManager.SecurityDevOps/) | -| Resource Management - Security Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.1.0/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.2.0-beta.3/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/) | -| Resource Management - Self Help | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.0.0)
NuGet [1.1.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.1.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.SelfHelp-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.0.0/sdk/selfhelp/Azure.ResourceManager.SelfHelp/)
GitHub [1.1.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.1.0-beta.6/sdk/selfhelp/Azure.ResourceManager.SelfHelp/) | -| Resource Management - Service Bus | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceBus-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceBus_1.1.0/sdk/servicebus/Azure.ResourceManager.ServiceBus/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceBus_1.2.0-beta.1/sdk/servicebus/Azure.ResourceManager.ServiceBus/) | -| Resource Management - Service Fabric | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceFabric-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.1.0/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.2.0-beta.3/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/) | +| Resource Management - Security Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.1.0)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.1.0/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.2.0-beta.4/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/) | +| Resource Management - Self Help | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.0.0)
NuGet [1.1.0-beta.8](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.1.0-beta.8) | [docs](/dotnet/api/overview/azure/ResourceManager.SelfHelp-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.0.0/sdk/selfhelp/Azure.ResourceManager.SelfHelp/)
GitHub [1.1.0-beta.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.1.0-beta.8/sdk/selfhelp/Azure.ResourceManager.SelfHelp/) | +| Resource Management - Service Bus | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceBus-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceBus_1.1.0/sdk/servicebus/Azure.ResourceManager.ServiceBus/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceBus_1.2.0-beta.2/sdk/servicebus/Azure.ResourceManager.ServiceBus/) | +| Resource Management - Service Fabric | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.1.0)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceFabric-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.1.0/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.2.0-beta.4/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/) | | Resource Management - Service Fabric Managed Clusters | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabricManagedClusters/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceFabricManagedClusters-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabricManagedClusters_1.3.0/sdk/servicefabricmanagedclusters/Azure.ResourceManager.ServiceFabricManagedClusters/) | | Resource Management - Service Linker | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.ServiceLinker/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceLinker-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceLinker_1.1.2/sdk/servicelinker/Azure.ResourceManager.ServiceLinker/) | -| Resource Management - Service Networking | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceNetworking-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.1.0/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.2.0-beta.1/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/) | +| Resource Management - Service Networking | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceNetworking-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.1.0/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.2.0-beta.3/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/) | | Resource Management - Servicegroups | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ServiceGroups/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceGroups-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceGroups_1.0.0-beta.2/sdk/servicegroups/Azure.ResourceManager.ServiceGroups/) | -| Resource Management - SignalR | NuGet [1.1.4](https://www.nuget.org/packages/Azure.ResourceManager.SignalR/1.1.4) | [docs](/dotnet/api/overview/azure/ResourceManager.SignalR-readme) | GitHub [1.1.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SignalR_1.1.4/sdk/signalr/Azure.ResourceManager.SignalR/) | -| Resource Management - Sitemanager | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.SiteManager/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.SiteManager-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SiteManager_1.0.0/sdk/sitemanager/Azure.ResourceManager.SiteManager/) | +| Resource Management - SignalR | NuGet [1.1.4](https://www.nuget.org/packages/Azure.ResourceManager.SignalR/1.1.4)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.SignalR/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.SignalR-readme) | GitHub [1.1.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SignalR_1.1.4/sdk/signalr/Azure.ResourceManager.SignalR/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SignalR_1.2.0-beta.1/sdk/signalr/Azure.ResourceManager.SignalR/) | +| Resource Management - Sitemanager | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.SiteManager/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.SiteManager-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SiteManager_1.0.1/sdk/sitemanager/Azure.ResourceManager.SiteManager/) | | Resource Management - Sphere | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.Sphere/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Sphere-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Sphere_1.0.2/sdk/sphere/Azure.ResourceManager.Sphere/) | | Resource Management - Spring App Discovery | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.SpringAppDiscovery/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.SpringAppDiscovery-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SpringAppDiscovery_1.0.0-beta.3/sdk/springappdiscovery/Azure.ResourceManager.SpringAppDiscovery/) | | Resource Management - SQL | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.Sql/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Sql-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Sql_1.4.0/sdk/sqlmanagement/Azure.ResourceManager.Sql/) | @@ -405,35 +422,33 @@ | Resource Management - Standby Pool | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.StandbyPool/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StandbyPool-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StandbyPool_1.2.0/sdk/standbypool/Azure.ResourceManager.StandbyPool/) | | Resource Management - Storage | NuGet [1.7.0](https://www.nuget.org/packages/Azure.ResourceManager.Storage/1.7.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Storage-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Storage_1.7.0/sdk/storage/Azure.ResourceManager.Storage/) | | Resource Management - Storage Actions | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageActions/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageActions-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageActions_1.0.1/sdk/storageactions/Azure.ResourceManager.StorageActions/) | -| Resource Management - Storage Cache | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.4.0)
NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageCache-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.4.0/sdk/storagecache/Azure.ResourceManager.StorageCache/)
GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.5.0-beta.1/sdk/storagecache/Azure.ResourceManager.StorageCache/) | -| Resource Management - Storage Mover | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageMover/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageMover-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageMover_1.4.0/sdk/storagemover/Azure.ResourceManager.StorageMover/) | +| Resource Management - Storage Cache | NuGet [1.5.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.5.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageCache-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.5.0/sdk/storagecache/Azure.ResourceManager.StorageCache/) | +| Resource Management - Storage Mover | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageMover/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageMover-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageMover_1.4.1/sdk/storagemover/Azure.ResourceManager.StorageMover/) | | Resource Management - Storage Pool | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.StoragePool/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.StoragePool-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StoragePool_1.1.2/sdk/storagepool/Azure.ResourceManager.StoragePool/) | -| Resource Management - Storage Sync | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageSync/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageSync-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageSync_1.3.1/sdk/storagesync/Azure.ResourceManager.StorageSync/) | -| Resource Management - Storagediscovery | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageDiscovery/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageDiscovery-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageDiscovery_1.0.0/sdk/storagediscovery/Azure.ResourceManager.StorageDiscovery/) | -| Resource Management - Stream Analytics | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StreamAnalytics-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.2.1/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.3.0-beta.1/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/) | +| Resource Management - Storage Sync | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.StorageSync/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageSync-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageSync_1.3.2/sdk/storagesync/Azure.ResourceManager.StorageSync/) | +| Resource Management - Storagediscovery | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageDiscovery/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageDiscovery-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageDiscovery_1.0.1/sdk/storagediscovery/Azure.ResourceManager.StorageDiscovery/) | +| Resource Management - Stream Analytics | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.2.1)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.StreamAnalytics-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.2.1/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.3.0-beta.2/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/) | | Resource Management - Subscriptions | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Subscription/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Subscription-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Subscription_1.1.2/sdk/subscription/Azure.ResourceManager.Subscription/) | -| Resource Management - Support | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Support-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.1.1/sdk/support/Azure.ResourceManager.Support/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.2.0-beta.1/sdk/support/Azure.ResourceManager.Support/) | +| Resource Management - Support | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.1.1)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Support-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.1.1/sdk/support/Azure.ResourceManager.Support/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.2.0-beta.2/sdk/support/Azure.ResourceManager.Support/) | | Resource Management - Synapse | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.Synapse/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Synapse-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Synapse_1.2.2/sdk/synapse/Azure.ResourceManager.Synapse/) | | Resource Management - Terraform | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Terraform/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Terraform-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Terraform_1.0.0-beta.3/sdk/terraform/Azure.ResourceManager.Terraform/) | -| Resource Management - Traffic Manager | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.TrafficManager/1.1.3)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.TrafficManager/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.TrafficManager-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrafficManager_1.1.3/sdk/trafficmanager/Azure.ResourceManager.TrafficManager/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrafficManager_1.2.0-beta.1/sdk/trafficmanager/Azure.ResourceManager.TrafficManager/) | +| Resource Management - Traffic Manager | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.TrafficManager/1.1.3)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.TrafficManager/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.TrafficManager-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrafficManager_1.1.3/sdk/trafficmanager/Azure.ResourceManager.TrafficManager/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrafficManager_1.2.0-beta.4/sdk/trafficmanager/Azure.ResourceManager.TrafficManager/) | | Resource Management - Trusted Signing | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.TrustedSigning/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.TrustedSigning-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrustedSigning_1.0.0/sdk/trustedsigning/Azure.ResourceManager.TrustedSigning/) | -| Resource Management - Virtualenclaves | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.VirtualEnclaves/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.VirtualEnclaves-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.VirtualEnclaves_1.0.0-beta.1/sdk/virtualenclaves/Azure.ResourceManager.VirtualEnclaves/) | -| Resource Management - Voice Services | NuGet [1.0.3](https://www.nuget.org/packages/Azure.ResourceManager.VoiceServices/1.0.3) | [docs](/dotnet/api/overview/azure/ResourceManager.VoiceServices-readme) | GitHub [1.0.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.VoiceServices_1.0.3/sdk/voiceservices/Azure.ResourceManager.VoiceServices/) | -| Resource Management - Web PubSub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.2.0)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WebPubSub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.2.0/sdk/webpubsub/Azure.ResourceManager.WebPubSub/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.3.0-beta.1/sdk/webpubsub/Azure.ResourceManager.WebPubSub/) | +| Resource Management - Web PubSub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.2.0)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.WebPubSub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.2.0/sdk/webpubsub/Azure.ResourceManager.WebPubSub/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.3.0-beta.2/sdk/webpubsub/Azure.ResourceManager.WebPubSub/) | | Resource Management - Weightsandbiases | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WeightsAndBiases/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WeightsAndBiases-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WeightsAndBiases_1.0.0/sdk/weightsandbiases/Azure.ResourceManager.WeightsAndBiases/) | | Resource Management - Workload Monitor | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadMonitor/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadMonitor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadMonitor_1.0.0-beta.6/sdk/workloadmonitor/Azure.ResourceManager.WorkloadMonitor/) | -| Resource Management - Workloadorchestration | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadOrchestration/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadOrchestration-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadOrchestration_1.0.0/sdk/workloadorchestration/Azure.ResourceManager.WorkloadOrchestration/) | +| Resource Management - Workloadorchestration | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadOrchestration/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadOrchestration-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadOrchestration_1.0.1/sdk/workloadorchestration/Azure.ResourceManager.WorkloadOrchestration/) | | Resource Management - Workloads | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.1.2)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Workloads-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.1.2/sdk/workloads/Azure.ResourceManager.Workloads/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.2.0-beta.1/sdk/workloads/Azure.ResourceManager.Workloads/) | | Resource Management - Workloadssapvirtualinstance | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadsSapVirtualInstance/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadsSapVirtualInstance-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadsSapVirtualInstance_1.0.0/sdk/workloadssapvirtualinstance/Azure.ResourceManager.WorkloadsSapVirtualInstance/) | | App Configuration Extension | NuGet [8.5.0](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.Functions.Worker/8.5.0)
NuGet [8.6.0-preview](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.Functions.Worker/8.6.0-preview) | | | | App Configuration Provider | NuGet [8.5.0](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.AspNetCore/8.5.0)
NuGet [8.6.0-preview](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.AspNetCore/8.6.0-preview) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp/1.0.0)
NuGet [3.0.0-beta.16](https://www.nuget.org/packages/Azure.Mcp/3.0.0-beta.16) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/1.0.0)
NuGet [3.0.0-beta.16](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/3.0.0-beta.16) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-x64/1.0.0)
NuGet [3.0.0-beta.16](https://www.nuget.org/packages/Azure.Mcp.linux-x64/3.0.0-beta.16) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/1.0.0)
NuGet [3.0.0-beta.16](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/3.0.0-beta.16) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-x64/1.0.0)
NuGet [3.0.0-beta.16](https://www.nuget.org/packages/Azure.Mcp.osx-x64/3.0.0-beta.16) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-arm64/1.0.0)
NuGet [3.0.0-beta.16](https://www.nuget.org/packages/Azure.Mcp.win-arm64/3.0.0-beta.16) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-x64/1.0.0)
NuGet [3.0.0-beta.16](https://www.nuget.org/packages/Azure.Mcp.win-x64/3.0.0-beta.16) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp/3.0.0-beta.26) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/3.0.0-beta.26) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-x64/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp.linux-x64/3.0.0-beta.26) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/3.0.0-beta.26) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-x64/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp.osx-x64/3.0.0-beta.26) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-arm64/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp.win-arm64/3.0.0-beta.26) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-x64/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp.win-x64/3.0.0-beta.26) | | | | Azure MCP Types Internal | NuGet [0.2.804](https://www.nuget.org/packages/Microsoft.Azure.Mcp.AzTypes.Internal.Compact/0.2.804) | | | | Azure.Communication.Administration | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Communication.Administration/1.0.0-beta.3) | | | | Caching - PostgreSQL | NuGet [1.2.2](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Postgres/1.2.2) | | | @@ -443,22 +458,22 @@ | Cosmos DB AOT | NuGet [0.1.4-preview.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Aot/0.1.4-preview.2) | | | | Cosmos DB Fault Injection | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.FaultInjection/1.0.0-beta.1) | | | | DotNetty | NuGet [0.7.6](https://www.nuget.org/packages/DotNetty.Common/0.7.6) | | | -| Fabric MCP | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp/1.0.0) | | | -| Fabric MCP | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp.linux-arm64/1.0.0) | | | -| Fabric MCP | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp.linux-x64/1.0.0) | | | -| Fabric MCP | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp.osx-arm64/1.0.0) | | | -| Fabric MCP | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp.osx-x64/1.0.0) | | | -| Fabric MCP | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp.win-arm64/1.0.0) | | | -| Fabric MCP | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp.win-x64/1.0.0) | | | +| Fabric MCP | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp/1.2.0) | | | +| Fabric MCP | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp.linux-arm64/1.2.0) | | | +| Fabric MCP | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp.linux-x64/1.2.0) | | | +| Fabric MCP | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp.osx-arm64/1.2.0) | | | +| Fabric MCP | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp.osx-x64/1.2.0) | | | +| Fabric MCP | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp.win-arm64/1.2.0) | | | +| Fabric MCP | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Fabric.Mcp.win-x64/1.2.0) | | | | Functions Extension MCP | NuGet [1.5.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Extensions.Mcp/1.5.0) | | | -| Functions Worker Extension MCP | NuGet [1.5.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Mcp/1.5.0) | | | +| Functions Worker Extension MCP | NuGet [1.5.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Mcp/1.5.1) | | | | Functions Worker Extension MCP SDK | NuGet [1.0.0-preview.4](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Mcp.Sdk/1.0.0-preview.4) | | | | Functions Worker Extension MySQL | NuGet [1.0.129](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.MySql/1.0.129) | | | | HTTP ASPNETCore Analyzers | NuGet [1.0.4](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore.Analyzers/1.0.4) | | | -| IoT Operations Connector | NuGet [1.1.1](https://www.nuget.org/packages/Azure.Iot.Operations.Connector/1.1.1) | | | +| IoT Operations Connector | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Iot.Operations.Connector/1.2.0) | | | | IoT Operations MQTT | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Iot.Operations.Mqtt/1.1.0) | | | -| IoT Operations Protocol | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Iot.Operations.Protocol/1.2.0) | | | -| IoT Operations Services | NuGet [1.2.1](https://www.nuget.org/packages/Azure.Iot.Operations.Services/1.2.1) | | | +| IoT Operations Protocol | NuGet [1.2.1](https://www.nuget.org/packages/Azure.Iot.Operations.Protocol/1.2.1) | | | +| IoT Operations Services | NuGet [1.2.2](https://www.nuget.org/packages/Azure.Iot.Operations.Services/1.2.2)
NuGet [1.3.0-beta1](https://www.nuget.org/packages/Azure.Iot.Operations.Services/1.3.0-beta1) | | | | IoT Operations Templates | NuGet [0.1.0](https://www.nuget.org/packages/Azure.Iot.Operations.Templates/0.1.0) | | | | Item Templates NetCore | NuGet [4.0.5590](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates.NetCore/4.0.5590) | | | | Item Templates NetFx | NuGet [4.0.5590](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates.NetFx/4.0.5590) | | | @@ -477,7 +492,7 @@ | MCP Template Server | NuGet [0.0.9](https://www.nuget.org/packages/Microsoft.Template.Mcp.Server.win-x64/0.0.9) | | | | Microsoft.Azure.DataFactoryTestingFramework.Expressions | NuGet [0.2.7](https://www.nuget.org/packages/Microsoft.Azure.DataFactoryTestingFramework.Expressions/0.2.7) | | | | Microsoft.Azure.Functions.Worker.OpenTelemetry | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.OpenTelemetry/1.2.0) | | | -| OpenTelemetry Profiler | NuGet [1.0.1-beta.3](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Profiler/1.0.1-beta.3) | | | +| OpenTelemetry Profiler | NuGet [1.0.1-beta.7](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Profiler/1.0.1-beta.7) | | | | Speech CLI | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.CLI/1.50.0) | | | | Speech Extension Embedded SR | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.Embedded.SR/1.50.0) | | | | Speech Extension Embedded TTS | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS/1.50.0) | | | @@ -485,10 +500,9 @@ | Speech Extension ONNX Runtime | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime/1.50.0) | | | | Speech Extension Telemetry | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.Telemetry/1.50.0) | | | | System Net Client Model | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/System.Net.ClientModel/1.0.0-beta.1) | | | -| Unknown Display Name | NuGet [0.12.0-preview.1](https://www.nuget.org/packages/Azure.Connectors.Sdk/0.12.0-preview.1) | | | | Unknown Display Name | NuGet [5.0.0-preview.1](https://www.nuget.org/packages/Azure.Functions.Cli.Abstractions/5.0.0-preview.1) | | | | Unknown Display Name | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Azure.Functions.Cli.Workloads.DotNet/1.0.0-preview.1) | | | -| Unknown Display Name | NuGet [4.35.0](https://www.nuget.org/packages/Azure.Functions.Cli.Workloads.ExtensionBundles/4.35.0) | | | +| Unknown Display Name | NuGet [4.42.0-preview.2](https://www.nuget.org/packages/Azure.Functions.Cli.Workloads.ExtensionBundles/4.42.0-preview.2) | | | | Unknown Display Name | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Azure.Functions.Cli.Workloads.Go/1.0.0-preview.1) | | | | Unknown Display Name | NuGet [4.1048.200-preview.1](https://www.nuget.org/packages/Azure.Functions.Cli.Workloads.Host.linux-arm64/4.1048.200-preview.1) | | | | Unknown Display Name | NuGet [4.1048.200-preview.1](https://www.nuget.org/packages/Azure.Functions.Cli.Workloads.Host.linux-x64/4.1048.200-preview.1) | | | @@ -509,10 +523,12 @@ | Unknown Display Name | NuGet [4.43.0-preview.2](https://www.nuget.org/packages/Azure.Functions.Cli.Workloads.Workers.Python.osx-x64/4.43.0-preview.2) | | | | Unknown Display Name | NuGet [4.43.0-preview.2](https://www.nuget.org/packages/Azure.Functions.Cli.Workloads.Workers.Python.win-x64/4.43.0-preview.2) | | | | Unknown Display Name | NuGet [0.4.0](https://www.nuget.org/packages/Azure.Functions.Sdk/0.4.0) | | | -| Unknown Display Name | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Iot.Operations.ProtocolCompiler/1.0.0) | | | -| Unknown Display Name | NuGet [0.8.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Connectors.Sdk/0.8.0-preview.1) | | | +| Unknown Display Name | NuGet [1.1.1](https://www.nuget.org/packages/Azure.Iot.Operations.ProtocolCompiler/1.1.1) | | | +| Unknown Display Name | NuGet [1.0.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.QueryPlanInterop.Linux/1.0.2) | | | +| Unknown Display Name | NuGet [1.0.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.QueryPlanInterop.MacOS/1.0.2) | | | +| Unknown Display Name | NuGet [1.0.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.QueryPlanInterop.Windows/1.0.2) | | | | Unknown Display Name | NuGet [0.2.0-alpha](https://www.nuget.org/packages/Microsoft.Azure.Functions.Extensions.Connector/0.2.0-alpha) | | | -| WebJobs Extension Cosmos DB Mongo | NuGet [1.2.2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo/1.2.2)
NuGet [1.2.4-preview](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo/1.2.4-preview) | | | +| WebJobs Extension Cosmos DB Mongo | NuGet [1.2.2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo/1.2.2)
NuGet [1.2.5-preview](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo/1.2.5-preview) | | | | WebJobs Extension MySQL | NuGet [1.0.129](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.MySql/1.0.129) | | | | App Service | NuGet [0.2.2-alpha](https://www.nuget.org/packages/Microsoft.Azure.AppService/0.2.2-alpha) | | | | Application Insights | NuGet [0.9.0-preview](https://www.nuget.org/packages/Microsoft.Azure.ApplicationInsights/0.9.0-preview) | | | @@ -532,6 +548,7 @@ | Commerce Usage Aggregates | NuGet [1.5.3](https://www.nuget.org/packages/Microsoft.Azure.Commerce.UsageAggregates/1.5.3) | | | | Common | NuGet [2.2.1](https://www.nuget.org/packages/Microsoft.Azure.Common/2.2.1) | | | | Common - Dependencies | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Common.Dependencies/1.0.0) | | | +| Connectors SDK | NuGet [0.13.0-preview.1](https://www.nuget.org/packages/Azure.Connectors.Sdk/0.13.0-preview.1) | | | | Cosmos DB | NuGet [3.58.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.58.0)
NuGet [3.62.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.62.0-preview.0) | [docs](/dotnet/api/overview/azure/cosmosdb) | GitHub [3.58.0](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos) | | Data Lake Analytics | NuGet [1.4.211011](https://www.nuget.org/packages/Microsoft.Azure.DataLake.USQL.SDK/1.4.211011) | | | | Data Movement | NuGet [2.0.5](https://www.nuget.org/packages/Microsoft.Azure.Storage.DataMovement/2.0.5) | | GitHub [2.0.5](https://github.com/Azure/azure-storage-net-data-movement/tree/v1.3.0) | @@ -548,7 +565,7 @@ | Kusto Ingest | NuGet [9.3.1](https://www.nuget.org/packages/Microsoft.Azure.Kusto.Ingest/9.3.1) | [docs](/azure/data-explorer/kusto/api/netfx/about-kusto-ingest) | GitHub [9.3.1](https://github.com/Azure/azure-kusto-dotnet) | | Media Live Video Analytics Edge | NuGet [1.0.4-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Media.LiveVideoAnalytics.Edge/1.0.4-preview.1) | | GitHub [1.0.4-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Media.LiveVideoAnalytics.Edge_1.0.4-preview.1/sdk/mediaservices/Microsoft.Azure.Media.LiveVideoAnalytics.Edge) | | Microsoft Service Fabric | NuGet [11.3.475](https://www.nuget.org/packages/Microsoft.ServiceFabric/11.3.475) | [docs](/dotnet/api/overview/azure/service-fabric) | | -| Microsoft.Azure.Amqp | NuGet [2.7.2](https://www.nuget.org/packages/Microsoft.Azure.Amqp/2.7.2) | | | +| Microsoft.Azure.Amqp | NuGet [2.7.3](https://www.nuget.org/packages/Microsoft.Azure.Amqp/2.7.3) | | | | Microsoft.Azure.Devices | NuGet [1.41.0](https://www.nuget.org/packages/Microsoft.Azure.Devices/1.41.0)
NuGet [2.0.0-rc](https://www.nuget.org/packages/Microsoft.Azure.Devices/2.0.0-rc) | | | | Microsoft.Azure.Devices.Authentication | NuGet [2.0.0-preview001](https://www.nuget.org/packages/Microsoft.Azure.Devices.Authentication/2.0.0-preview001) | | | | Microsoft.Azure.Devices.Client.PCL | NuGet [1.0.16](https://www.nuget.org/packages/Microsoft.Azure.Devices.Client.PCL/1.0.16) | | | @@ -586,7 +603,7 @@ | App Service - API Apps Service | NuGet [0.9.64](https://www.nuget.org/packages/Microsoft.Azure.AppService.ApiApps.Service/0.9.64) | | | | Code Analyzers for Durable Functions | NuGet [0.5.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers/0.5.0) | | GitHub [0.5.0](https://github.com/Azure/azure-functions-durable-extension/tree/Analyzer-v0.3.0/src/WebJobs.Extensions.DurableTask.Analyzers) | | Cosmos DB - BulkExecutor | NuGet [2.5.1-preview](https://www.nuget.org/packages/Microsoft.Azure.CosmosDB.BulkExecutor/2.5.1-preview) | | GitHub [2.5.1-preview](https://github.com/Azure/azure-cosmosdb-bulkexecutor-dotnet-getting-started) | -| Cosmos DB - Direct | NuGet [3.43.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Direct/3.43.2) | | GitHub [3.43.2](https://github.com/Azure/azure-cosmos-dotnet-v3) | +| Cosmos DB - Direct | NuGet [3.44.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Direct/3.44.0) | | GitHub [3.44.0](https://github.com/Azure/azure-cosmos-dotnet-v3) | | Cosmos DB - Encryption | NuGet [2.0.3](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption/2.0.3)
NuGet [2.1.0-preview4](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption/2.1.0-preview4) | | GitHub [2.0.3](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/releases/encryption/1.0.0-preview4/Microsoft.Azure.Cosmos.Encryption) | | Cosmos DB - Encryption | NuGet [1.0.0-preview07](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption.Custom/1.0.0-preview07) | | | | Extensions - Caching Cosmos | NuGet [1.8.0](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Cosmos/1.8.0) | | GitHub [1.8.0](https://github.com/Azure/Microsoft.Extensions.Caching.Cosmos/tree/v1.0.0-preview4) | @@ -596,8 +613,8 @@ | Functions extension for Azure SQL and SQL Server | NuGet [3.1.536](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Sql/3.1.536) | | | | Functions extension for Cosmos DB | NuGet [4.16.1](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.CosmosDB/4.16.1) | | GitHub [4.16.1](https://github.com/Azure/azure-webjobs-sdk-extensions/tree/cosmos-v3.0.7/src/WebJobs.Extensions.CosmosDB) | | Functions extension for DocumentDB | NuGet [1.3.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DocumentDB/1.3.0) | | GitHub [1.3.0](https://github.com/Azure/azure-webjobs-sdk-extensions) | -| Functions extension for Durable Task Framework | NuGet [3.12.5](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/3.12.5) | [docs](/dotnet/api/overview/azure/functions) | GitHub [3.12.5](https://github.com/Azure/azure-functions-durable-extension/tree/v2.2.2/src/WebJobs.Extensions.DurableTask) | -| Functions extension for Durable Task Framework - isolated worker | NuGet [1.16.5](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.DurableTask/1.16.5) | | | +| Functions extension for Durable Task Framework | NuGet [3.14.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/3.14.0) | [docs](/dotnet/api/overview/azure/functions) | GitHub [3.14.0](https://github.com/Azure/azure-functions-durable-extension/tree/v2.2.2/src/WebJobs.Extensions.DurableTask) | +| Functions extension for Durable Task Framework - isolated worker | NuGet [1.18.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.DurableTask/1.18.0) | | | | Functions extension for HTTP | NuGet [3.3.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Http/3.3.0) | | GitHub [3.3.0](https://github.com/Azure/azure-webjobs-sdk-extensions/tree/v3.0.2/src/WebJobs.Extensions.Http) | | Functions extension for IoT Edge | NuGet [1.0.7](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EdgeHub/1.0.7) | | GitHub [1.0.7](https://github.com/Azure/iotedge/tree/1.0.7/edge-hub) | | Functions extension for Kafka | NuGet [4.3.2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Kafka/4.3.2) | | GitHub [4.3.2](https://github.com/Azure/azure-functions-kafka-extension/tree/3.0.0/src/Microsoft.Azure.WebJobs.Extensions.Kafka) | @@ -605,7 +622,7 @@ | Functions extension for RabbitMQ | NuGet [2.1.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.RabbitMQ/2.1.0) | | GitHub [2.1.0](https://github.com/Azure/azure-functions-rabbitmq-extension/tree/v0.2.2029-beta) | | Functions extension for script abstractions | NuGet [1.1.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Script.Abstractions/1.1.0) | | | | Functions extension for SendGrid | NuGet [3.1.1](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.SendGrid/3.1.1) | | GitHub [3.1.1](https://github.com/Azure/azure-webjobs-sdk-extensions/tree/v3.0.0/src/WebJobs.Extensions.SendGrid) | -| Functions extension for Sources | NuGet [3.0.46](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Sources/3.0.46) | | GitHub [3.0.46](https://github.com/Azure/azure-webjobs-sdk) | +| Functions extension for Sources | NuGet [3.0.47](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Sources/3.0.47) | | GitHub [3.0.47](https://github.com/Azure/azure-webjobs-sdk) | | Functions extension for Storage Timers | NuGet [1.1.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Timers.Storage/1.1.0) | | | | Functions extension for Twilio | NuGet [3.0.2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Twilio/3.0.2) | | GitHub [3.0.2](https://github.com/Azure/azure-webjobs-sdk-extensions/tree/v3.0.0/src/WebJobs.Extensions.Twilio) | | Functions extension metadata generator | NuGet [4.0.1](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator/4.0.1) | | GitHub [4.0.1](https://github.com/Azure/azure-functions-host) | @@ -620,15 +637,15 @@ | Functions OpenAPI app settings deserialization library | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.OpenApi.Configuration.AppSettings/1.4.0)
NuGet [2.0.0-preview2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.OpenApi.Configuration.AppSettings/2.0.0-preview2) | | | | Functions OpenAPI document and Swagger UI renderer library | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.OpenApi/1.4.0)
NuGet [2.0.0-preview2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.OpenApi/2.0.0-preview2) | | | | Functions project template pack for Microsoft Template Engine | NuGet [4.0.5590](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.ProjectTemplates/4.0.5590) | | GitHub [4.0.5590](https://github.com/Azure/azure-functions-templates/tree/3.1.1582) | -| Functions runtime assemblies for App Insights logging | NuGet [3.0.46](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Logging.ApplicationInsights/3.0.46) | | GitHub [3.0.46](https://github.com/Azure/azure-webjobs-sdk/tree/v3.0.18/src/Microsoft.Azure.WebJobs.Logging.ApplicationInsights) | +| Functions runtime assemblies for App Insights logging | NuGet [3.0.47](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Logging.ApplicationInsights/3.0.47) | | GitHub [3.0.47](https://github.com/Azure/azure-webjobs-sdk/tree/v3.0.18/src/Microsoft.Azure.WebJobs.Logging.ApplicationInsights) | | Functions runtime assemblies for logging | NuGet [4.0.3](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Logging/4.0.3) | | | -| Functions runtime assemblies for Microsoft.Azure.WebJobs.Host | NuGet [3.0.46](https://www.nuget.org/packages/Microsoft.Azure.WebJobs/3.0.46) | | GitHub [3.0.46](https://github.com/Azure/azure-webjobs-sdk/tree/v3.0.18/src/Microsoft.Azure.WebJobs) | +| Functions runtime assemblies for Microsoft.Azure.WebJobs.Host | NuGet [3.0.47](https://www.nuget.org/packages/Microsoft.Azure.WebJobs/3.0.47) | | GitHub [3.0.47](https://github.com/Azure/azure-webjobs-sdk/tree/v3.0.18/src/Microsoft.Azure.WebJobs) | | Functions timers and file triggers | NuGet [5.2.1](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions/5.2.1) | | GitHub [5.2.1](https://github.com/Azure/azure-webjobs-sdk-extensions/tree/dev/src/WebJobs.Extensions) | | Microsoft.Azure.Cosmos.Templates | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Templates/1.0.0) | | | | Microsoft.Azure.Functions.Analyzers | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Analyzers/1.0.0) | | | | Microsoft.Azure.Functions.Authentication.WebAssembly | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Authentication.WebAssembly/1.0.0)
NuGet [1.0.1-preview](https://www.nuget.org/packages/Microsoft.Azure.Functions.Authentication.WebAssembly/1.0.1-preview) | | | | Microsoft.Azure.Functions.Worker | NuGet [2.52.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker/2.52.0) | | | -| Microsoft.Azure.Functions.Worker.ApplicationInsights | NuGet [2.50.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ApplicationInsights/2.50.0) | | | +| Microsoft.Azure.Functions.Worker.ApplicationInsights | NuGet [2.51.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ApplicationInsights/2.51.0) | | | | Microsoft.Azure.Functions.Worker.Core | NuGet [2.52.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Core/2.52.0) | | | | Microsoft.Azure.Functions.Worker.Extensions.Abstractions | NuGet [1.3.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Abstractions/1.3.0) | | | | Microsoft.Azure.Functions.Worker.Extensions.ApplicationInsights | NuGet [1.0.0-preview4](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.ApplicationInsights/1.0.0-preview4) | | | @@ -660,22 +677,22 @@ | Microsoft.Azure.Functions.Worker.Sdk.Generators | NuGet [1.3.6](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk.Generators/1.3.6) | | | | Microsoft.Azure.WebJobs.CosmosDb.ChangeProcessor | NuGet [1.0.4](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.CosmosDb.ChangeProcessor/1.0.4) | | | | Microsoft.Azure.WebJobs.Extensions.Kusto | NuGet [1.0.13-Preview](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Kusto/1.0.13-Preview) | | | -| Microsoft.Azure.WebJobs.Extensions.Rpc | NuGet [3.0.46](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Rpc/3.0.46) | | | -| Microsoft.Azure.WebJobs.Rpc.Core | NuGet [3.0.46](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Rpc.Core/3.0.46) | | | +| Microsoft.Azure.WebJobs.Extensions.Rpc | NuGet [3.0.47](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Rpc/3.0.47) | | | +| Microsoft.Azure.WebJobs.Rpc.Core | NuGet [3.0.47](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Rpc.Core/3.0.47) | | | | Service Bus - Message ID plugin | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.ServiceBus.MessageIdPlugin/2.0.0) | | | -| SignalR | NuGet [1.33.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.33.0)
NuGet [1.25.0-preview1-11147](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.25.0-preview1-11147) | | GitHub [1.33.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR) | -| SignalR - ASP.NET | NuGet [1.33.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.AspNet/1.33.0) | | GitHub [1.33.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.AspNet) | +| SignalR | NuGet [1.33.1](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.33.1)
NuGet [1.25.0-preview1-11147](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.25.0-preview1-11147) | | GitHub [1.33.1](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR) | +| SignalR - ASP.NET | NuGet [1.33.1](https://www.nuget.org/packages/Microsoft.Azure.SignalR.AspNet/1.33.1) | | GitHub [1.33.1](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.AspNet) | | SignalR - Benchmark | NuGet [1.0.0-preview1-10415](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Benchmark/1.0.0-preview1-10415) | | GitHub [1.0.0-preview1-10415](https://github.com/azure/azure-signalr-bench) | -| SignalR - Protocols | NuGet [1.33.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Protocols/1.33.0) | | GitHub [1.33.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.Protocols) | +| SignalR - Protocols | NuGet [1.33.1](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Protocols/1.33.1) | | GitHub [1.33.1](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.Protocols) | | SignalR - Serverless Protocols | NuGet [1.11.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Serverless.Protocols/1.11.0) | | GitHub [1.11.0](https://github.com/Azure/azure-functions-signalrservice-extension/tree/v1.2.0/src/Microsoft.Azure.SignalR.Serverless.Protocols) | -| SignalR Management | NuGet [1.33.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Management/1.33.0) | | GitHub [1.33.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.Management) | +| SignalR Management | NuGet [1.33.1](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Management/1.33.1) | | GitHub [1.33.1](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.Management) | | SQL Database Elastic Scale Client | NuGet [2.4.2](https://www.nuget.org/packages/Microsoft.Azure.SqlDatabase.ElasticScale.Client/2.4.2) | | GitHub [2.4.2](https://github.com/Azure/elastic-db-tools/tree/v2.3.0/Src/ElasticScale.Client) | | SQL Database Elastic Scale Service SplitMerge | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Azure.SqlDatabase.ElasticScale.Service.SplitMerge/1.2.0) | | | | SQL Database Jobs | NuGet [0.8.3362.1](https://www.nuget.org/packages/Microsoft.Azure.SqlDatabase.Jobs/0.8.3362.1) | | | | Storage APIs for Microsoft.Azure.WebJobs.Host | NuGet [5.0.2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Host.Storage/5.0.2) | | GitHub [5.0.2](https://github.com/Azure/azure-webjobs-sdk/tree/storage-v4.0.1/src/Microsoft.Azure.WebJobs.Host.Storage) | -| Supporting library for Microsoft.Azure.WebJobs | NuGet [3.0.46](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Core/3.0.46) | | GitHub [3.0.46](https://github.com/Azure/azure-webjobs-sdk/tree/v3.0.18) | +| Supporting library for Microsoft.Azure.WebJobs | NuGet [3.0.47](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Core/3.0.47) | | GitHub [3.0.47](https://github.com/Azure/azure-webjobs-sdk/tree/v3.0.18) | | Supporting library for Microsoft.Azure.WebJobs.Extensions.OpenApi | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.OpenApi.Core/1.4.0)
NuGet [2.0.0-preview2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.OpenApi.Core/2.0.0-preview2) | | | -| Supporting library for testing Microsoft.Azure.WebJobs.Host | NuGet [3.0.46](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Host.TestCommon/3.0.46) | | GitHub [3.0.46](https://github.com/Azure/azure-webjobs-sdk) | +| Supporting library for testing Microsoft.Azure.WebJobs.Host | NuGet [3.0.47](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Host.TestCommon/3.0.47) | | GitHub [3.0.47](https://github.com/Azure/azure-webjobs-sdk) | | Web - Redis Output Cache Provider | NuGet [4.0.1](https://www.nuget.org/packages/Microsoft.Web.RedisOutputCacheProvider/4.0.1) | | GitHub [4.0.1](https://github.com/Azure/aspnet-redis-providers/tree/NuGet-Release/RedisOutputCacheProvider-3.0.1/src/OutputCacheProvider) | | Web - Redis Session State Provider | NuGet [5.0.4](https://www.nuget.org/packages/Microsoft.Web.RedisSessionStateProvider/5.0.4) | | GitHub [5.0.4](https://github.com/Azure/aspnet-redis-providers/tree/NuGet-Release/RedisSessionStateProvider-4.0.1/src/RedisSessionStateProvider) | | Hyak Common | NuGet [1.2.2](https://www.nuget.org/packages/Hyak.Common/1.2.2) | | | diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md index a6eb54abf6222..6ea7a9cad4d85 100644 --- a/docs/azure/includes/dotnet-new.md +++ b/docs/azure/includes/dotnet-new.md @@ -2,13 +2,13 @@ | ---- | ------- | ---- | ------ | | AI Agent Server - Agent Framework | NuGet [1.0.0-beta.11](https://www.nuget.org/packages/Azure.AI.AgentServer.AgentFramework/1.0.0-beta.11) | [docs](/dotnet/api/overview/azure/AI.AgentServer.AgentFramework-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.11](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.AgentFramework_1.0.0-beta.11/sdk/agentserver/Azure.AI.AgentServer.AgentFramework/) | | AI Agent Server - Contracts | NuGet [1.0.0-beta.11](https://www.nuget.org/packages/Azure.AI.AgentServer.Contracts/1.0.0-beta.11) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Contracts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.11](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Contracts_1.0.0-beta.11/sdk/agentserver/Azure.AI.AgentServer.Contracts/) | -| AI Agent Server - Core | NuGet [1.0.0-beta.25](https://www.nuget.org/packages/Azure.AI.AgentServer.Core/1.0.0-beta.25) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Core-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.25](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Core_1.0.0-beta.25/sdk/agentserver/Azure.AI.AgentServer.Core/) | +| AI Agent Server - Core | NuGet [1.0.0-beta.26](https://www.nuget.org/packages/Azure.AI.AgentServer.Core/1.0.0-beta.26) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Core-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.26](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Core_1.0.0-beta.26/sdk/agentserver/Azure.AI.AgentServer.Core/) | | AI Agents Persistent | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.Agents.Persistent/1.1.0)
NuGet [1.2.0-beta.10](https://www.nuget.org/packages/Azure.AI.Agents.Persistent/1.2.0-beta.10) | [docs](/dotnet/api/overview/azure/AI.Agents.Persistent-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Agents.Persistent_1.1.0/sdk/ai/Azure.AI.Agents.Persistent/)
GitHub [1.2.0-beta.10](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Agents.Persistent_1.2.0-beta.10/sdk/ai/Azure.AI.Agents.Persistent/) | -| AI Foundry | NuGet [2.0.1](https://www.nuget.org/packages/Azure.AI.Projects/2.0.1)
NuGet [2.1.0-beta.3](https://www.nuget.org/packages/Azure.AI.Projects/2.1.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.Projects-readme) | GitHub [2.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects_2.0.1/sdk/ai/Azure.AI.Projects/)
GitHub [2.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects_2.1.0-beta.3/sdk/ai/Azure.AI.Projects/) | +| AI Foundry | NuGet [2.0.1](https://www.nuget.org/packages/Azure.AI.Projects/2.0.1)
NuGet [2.1.0-beta.4](https://www.nuget.org/packages/Azure.AI.Projects/2.1.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.Projects-readme) | GitHub [2.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects_2.0.1/sdk/ai/Azure.AI.Projects/)
GitHub [2.1.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects_2.1.0-beta.4/sdk/ai/Azure.AI.Projects/) | | AI Model Inference | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.AI.Inference/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/AI.Inference-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Inference_1.0.0-beta.5/sdk/ai/Azure.AI.Inference/) | | AI Projects - OpenAI | NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.Projects.OpenAI/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Projects.OpenAI-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.OpenAI_2.0.0-beta.1/sdk/ai/Azure.AI.Projects.OpenAI/) | | Anomaly Detector | NuGet [3.0.0-preview.7](https://www.nuget.org/packages/Azure.AI.AnomalyDetector/3.0.0-preview.7) | [docs](/dotnet/api/overview/azure/AI.AnomalyDetector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [3.0.0-preview.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AnomalyDetector_3.0.0-preview.7/sdk/anomalydetector/Azure.AI.AnomalyDetector/) | -| App Configuration | NuGet [1.9.0](https://www.nuget.org/packages/Azure.Data.AppConfiguration/1.9.0) | [docs](/dotnet/api/overview/azure/Data.AppConfiguration-readme) | GitHub [1.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AppConfiguration_1.9.0/sdk/appconfiguration/Azure.Data.AppConfiguration/) | +| App Configuration | NuGet [1.10.0](https://www.nuget.org/packages/Azure.Data.AppConfiguration/1.10.0) | [docs](/dotnet/api/overview/azure/Data.AppConfiguration-readme) | GitHub [1.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AppConfiguration_1.10.0/sdk/appconfiguration/Azure.Data.AppConfiguration/) | | App Configuration Provider | NuGet [8.5.0](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/8.5.0)
NuGet [8.6.0-preview](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/8.6.0-preview) | [docs](/dotnet/api/overview/azure/Microsoft.Extensions.Configuration.AzureAppConfiguration-readme) | GitHub [8.5.0](https://github.com/Azure/AppConfiguration-DotnetProvider) | | Attestation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Security.Attestation/1.0.0) | [docs](/dotnet/api/overview/azure/Security.Attestation-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.Attestation_1.0.0/sdk/attestation/Azure.Security.Attestation/) | | Azure AI Search | NuGet [12.0.0](https://www.nuget.org/packages/Azure.Search.Documents/12.0.0)
NuGet [12.1.0-beta.1](https://www.nuget.org/packages/Azure.Search.Documents/12.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Search.Documents-readme) | GitHub [12.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_12.0.0/sdk/search/Azure.Search.Documents/)
GitHub [12.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_12.1.0-beta.1/sdk/search/Azure.Search.Documents/) | @@ -16,10 +16,10 @@ | Azure Object Anchors Conversion | NuGet [0.3.0-beta.6](https://www.nuget.org/packages/Azure.MixedReality.ObjectAnchors.Conversion/0.3.0-beta.6) | | GitHub [0.3.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.MixedReality.ObjectAnchors.Conversion_0.3.0-beta.6/sdk/objectanchors/Azure.MixedReality.ObjectAnchors.Conversion/) | | Azure Remote Rendering | NuGet [1.1.0](https://www.nuget.org/packages/Azure.MixedReality.RemoteRendering/1.1.0) | [docs](/dotnet/api/overview/azure/MixedReality.RemoteRendering-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.MixedReality.RemoteRendering_1.1.0/sdk/remoterendering/Azure.MixedReality.RemoteRendering/) | | Calling Server | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Communication.CallingServer/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Communication.CallingServer-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallingServer_1.0.0-beta.3/sdk/communication/Azure.Communication.CallingServer/) | -| Code Transparency | NuGet [1.0.0-beta.8](https://www.nuget.org/packages/Azure.Security.CodeTransparency/1.0.0-beta.8) | [docs](/dotnet/api/overview/azure/Security.CodeTransparency-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.CodeTransparency_1.0.0-beta.8/sdk/confidentialledger/Azure.Security.CodeTransparency/) | -| Communication Call Automation | NuGet [1.5.1](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.5.1)
NuGet [1.6.0-beta.2](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.6.0-beta.2) | [docs](/dotnet/api/overview/azure/Communication.CallAutomation-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.5.1/sdk/communication/Azure.Communication.CallAutomation/)
GitHub [1.6.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.6.0-beta.2/sdk/communication/Azure.Communication.CallAutomation/) | +| Code Transparency | NuGet [1.0.0-beta.11](https://www.nuget.org/packages/Azure.Security.CodeTransparency/1.0.0-beta.11) | [docs](/dotnet/api/overview/azure/Security.CodeTransparency-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.11](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.CodeTransparency_1.0.0-beta.11/sdk/confidentialledger/Azure.Security.CodeTransparency/) | +| Communication Call Automation | NuGet [1.6.0](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.6.0) | [docs](/dotnet/api/overview/azure/Communication.CallAutomation-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.6.0/sdk/communication/Azure.Communication.CallAutomation/) | | Communication Chat | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Communication.Chat/1.4.0) | [docs](/dotnet/api/overview/azure/Communication.Chat-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Chat_1.4.0/sdk/communication/Azure.Communication.Chat/) | -| Communication Common | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Communication.Common/1.4.0)
NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Common/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Common-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_1.4.0/sdk/communication/Azure.Communication.Common/)
GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_2.0.0-beta.1/sdk/communication/Azure.Communication.Common/) | +| Communication Common | NuGet [1.4.1](https://www.nuget.org/packages/Azure.Communication.Common/1.4.1)
NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Common/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Common-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_1.4.1/sdk/communication/Azure.Communication.Common/)
GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_2.0.0-beta.1/sdk/communication/Azure.Communication.Common/) | | Communication Email | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Communication.Email/1.1.0) | [docs](/dotnet/api/overview/azure/Communication.Email-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Email_1.1.0/sdk/communication/Azure.Communication.Email/) | | Communication Identity | NuGet [1.3.1](https://www.nuget.org/packages/Azure.Communication.Identity/1.3.1)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Identity/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Identity-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Identity_1.3.1/sdk/communication/Azure.Communication.Identity/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Identity_1.4.0-beta.1/sdk/communication/Azure.Communication.Identity/) | | Communication JobRouter | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Communication.JobRouter/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Communication.JobRouter/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.JobRouter-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.JobRouter_1.0.0/sdk/communication/Azure.Communication.JobRouter/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.JobRouter_1.1.0-beta.1/sdk/communication/Azure.Communication.JobRouter/) | @@ -32,11 +32,11 @@ | Confidential Ledger | NuGet [1.3.0](https://www.nuget.org/packages/Azure.Security.ConfidentialLedger/1.3.0)
NuGet [1.4.1-beta.5](https://www.nuget.org/packages/Azure.Security.ConfidentialLedger/1.4.1-beta.5) | [docs](/dotnet/api/overview/azure/Security.ConfidentialLedger-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.ConfidentialLedger_1.3.0/sdk/confidentialledger/Azure.Security.ConfidentialLedger/)
GitHub [1.4.1-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.ConfidentialLedger_1.4.1-beta.5/sdk/confidentialledger/Azure.Security.ConfidentialLedger/) | | Container Registry | NuGet [1.3.0](https://www.nuget.org/packages/Azure.Containers.ContainerRegistry/1.3.0) | [docs](/dotnet/api/overview/azure/Containers.ContainerRegistry-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Containers.ContainerRegistry_1.3.0/sdk/containerregistry/Azure.Containers.ContainerRegistry/) | | Content Safety | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.ContentSafety/1.0.0) | [docs](/dotnet/api/overview/azure/AI.ContentSafety-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.ContentSafety_1.0.0/sdk/contentsafety/Azure.AI.ContentSafety/) | -| Content Understanding | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.ContentUnderstanding/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.AI.ContentUnderstanding/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.ContentUnderstanding-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.ContentUnderstanding_1.1.0/sdk/contentunderstanding/Azure.AI.ContentUnderstanding/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.ContentUnderstanding_1.2.0-beta.1/sdk/contentunderstanding/Azure.AI.ContentUnderstanding/) | +| Content Understanding | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.ContentUnderstanding/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.AI.ContentUnderstanding/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.ContentUnderstanding-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.ContentUnderstanding_1.1.0/sdk/contentunderstanding/Azure.AI.ContentUnderstanding/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.ContentUnderstanding_1.2.0-beta.2/sdk/contentunderstanding/Azure.AI.ContentUnderstanding/) | | Conversational Language Understanding | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.Language.Conversations/1.1.0)
NuGet [2.0.0-beta.5](https://www.nuget.org/packages/Azure.AI.Language.Conversations/2.0.0-beta.5) | [docs](/dotnet/api/overview/azure/AI.Language.Conversations-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations_1.1.0/sdk/cognitivelanguage/Azure.AI.Language.Conversations/)
GitHub [2.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations_2.0.0-beta.5/sdk/cognitivelanguage/Azure.AI.Language.Conversations/) | | Conversations Authoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.AI.Language.Conversations.Authoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.Language.Conversations.Authoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations.Authoring_1.0.0-beta.3/sdk/cognitivelanguage/Azure.AI.Language.Conversations.Authoring/) | | Core - Client - AMQP | NuGet [1.3.1](https://www.nuget.org/packages/Azure.Core.Amqp/1.3.1) | [docs](/dotnet/api/overview/azure/Core.Amqp-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core.Amqp_1.3.1/sdk/core/Azure.Core.Amqp/) | -| Core - Client - Core | NuGet [1.57.0](https://www.nuget.org/packages/Azure.Core/1.57.0) | [docs](/dotnet/api/overview/azure/Core-readme) | GitHub [1.57.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.57.0/sdk/core/Azure.Core/) | +| Core - Client - Core | NuGet [1.60.0](https://www.nuget.org/packages/Azure.Core/1.60.0) | [docs](/dotnet/api/overview/azure/Core-readme) | GitHub [1.60.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.60.0/sdk/core/Azure.Core/) | | Core - Client - Core | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Core.Expressions.DataFactory/1.0.0) | [docs](/dotnet/api/overview/azure/Core.Expressions.DataFactory-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core.Expressions.DataFactory_1.0.0/sdk/core/Azure.Core.Expressions.DataFactory/) | | Core Newtonsoft Json | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.Core.NewtonsoftJson/2.0.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Core.NewtonsoftJson-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Core.NewtonsoftJson_2.0.0/sdk/core/Microsoft.Azure.Core.NewtonsoftJson/) | | Core WCF Storage Queues | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.CoreWCF.Azure.StorageQueues/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.CoreWCF.Azure.StorageQueues-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.CoreWCF.Azure.StorageQueues_1.0.0-beta.1/sdk/extension-wcf/Microsoft.CoreWCF.Azure.StorageQueues/) | @@ -62,12 +62,12 @@ | Health Insights Clinical Matching | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Health.Insights.ClinicalMatching/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Health.Insights.ClinicalMatching-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.ClinicalMatching_1.0.0-beta.1/sdk/healthinsights/Azure.Health.Insights.ClinicalMatching/) | | Health Insights Radiology Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Health.Insights.RadiologyInsights/1.1.0) | [docs](/dotnet/api/overview/azure/Health.Insights.RadiologyInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.RadiologyInsights_1.1.0/sdk/healthinsights/Azure.Health.Insights.RadiologyInsights/) | | Identity | NuGet [1.21.0](https://www.nuget.org/packages/Azure.Identity/1.21.0) | [docs](/dotnet/api/overview/azure/Identity-readme) | GitHub [1.21.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.21.0/sdk/identity/Azure.Identity/) | -| Identity Broker | NuGet [1.7.0](https://www.nuget.org/packages/Azure.Identity.Broker/1.7.0) | [docs](/dotnet/api/overview/azure/Identity.Broker-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.7.0/sdk/identity/Azure.Identity.Broker/) | +| Identity Broker | NuGet [1.7.0](https://www.nuget.org/packages/Azure.Identity.Broker/1.7.0)
NuGet [1.8.0-beta.1](https://www.nuget.org/packages/Azure.Identity.Broker/1.8.0-beta.1) | [docs](/dotnet/api/overview/azure/Identity.Broker-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.7.0/sdk/identity/Azure.Identity.Broker/)
GitHub [1.8.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.8.0-beta.1/sdk/identity/Azure.Identity.Broker/) | | Image Analysis | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Vision.ImageAnalysis/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Vision.ImageAnalysis-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Vision.ImageAnalysis_1.0.0/sdk/vision/Azure.AI.Vision.ImageAnalysis/) | -| Key Vault - Administration | NuGet [4.8.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.8.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Administration-readme) | GitHub [4.8.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.8.0/sdk/keyvault/Azure.Security.KeyVault.Administration/) | -| Key Vault - Certificates | NuGet [4.9.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.9.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Certificates-readme) | GitHub [4.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.9.0/sdk/keyvault/Azure.Security.KeyVault.Certificates/) | -| Key Vault - Keys | NuGet [4.10.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.10.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Keys-readme) | GitHub [4.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.10.0/sdk/keyvault/Azure.Security.KeyVault.Keys/) | -| Key Vault - Secrets | NuGet [4.11.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.11.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Secrets-readme) | GitHub [4.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.11.0/sdk/keyvault/Azure.Security.KeyVault.Secrets/) | +| Key Vault - Administration | NuGet [4.8.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.8.0)
NuGet [4.9.0-beta.2](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.9.0-beta.2) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Administration-readme) | GitHub [4.8.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.8.0/sdk/keyvault/Azure.Security.KeyVault.Administration/)
GitHub [4.9.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.9.0-beta.2/sdk/keyvault/Azure.Security.KeyVault.Administration/) | +| Key Vault - Certificates | NuGet [4.9.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.9.0)
NuGet [4.10.0-beta.2](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.10.0-beta.2) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Certificates-readme) | GitHub [4.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.9.0/sdk/keyvault/Azure.Security.KeyVault.Certificates/)
GitHub [4.10.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.10.0-beta.2/sdk/keyvault/Azure.Security.KeyVault.Certificates/) | +| Key Vault - Keys | NuGet [4.10.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.10.0)
NuGet [4.11.0-beta.3](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.11.0-beta.3) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Keys-readme) | GitHub [4.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.10.0/sdk/keyvault/Azure.Security.KeyVault.Keys/)
GitHub [4.11.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.11.0-beta.3/sdk/keyvault/Azure.Security.KeyVault.Keys/) | +| Key Vault - Secrets | NuGet [4.11.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.11.0)
NuGet [4.12.0-beta.1](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.12.0-beta.1) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Secrets-readme) | GitHub [4.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.11.0/sdk/keyvault/Azure.Security.KeyVault.Secrets/)
GitHub [4.12.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.12.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets/) | | Language Text | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.Language.Text/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.Language.Text-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Text_1.0.0-beta.4/sdk/cognitivelanguage/Azure.AI.Language.Text/) | | Load Testing | NuGet [1.0.2](https://www.nuget.org/packages/Azure.Developer.LoadTesting/1.0.2)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.Developer.LoadTesting/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/Developer.LoadTesting-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.LoadTesting_1.0.2/sdk/loadtestservice/Azure.Developer.LoadTesting/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.LoadTesting_1.3.0-beta.1/sdk/loadtestservice/Azure.Developer.LoadTesting/) | | Maps Common | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Maps.Common/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Maps.Common-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Maps.Common_1.0.0-beta.4/sdk/maps/Azure.Maps.Common/) | @@ -92,7 +92,7 @@ | OpenAI Assistants | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.OpenAI.Assistants/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.OpenAI.Assistants-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI.Assistants_1.0.0-beta.4/sdk/openai/Azure.AI.OpenAI.Assistants/) | | OpenAI Inference | NuGet [2.1.0](https://www.nuget.org/packages/Azure.AI.OpenAI/2.1.0)
NuGet [2.9.0-beta.1](https://www.nuget.org/packages/Azure.AI.OpenAI/2.9.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.OpenAI-readme) | GitHub [2.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.1.0/sdk/openai/Azure.AI.OpenAI/)
GitHub [2.9.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.9.0-beta.1/sdk/openai/Azure.AI.OpenAI/) | | OpenTelemetry AspNetCore | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore/1.5.0) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.AspNetCore-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.AspNetCore_1.5.0/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/) | -| OpenTelemetry Exporter | NuGet [1.8.1](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.8.1) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.8.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.8.1/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/) | +| OpenTelemetry Exporter | NuGet [1.8.2](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.8.2) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.8.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.8.2/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/) | | OpenTelemetry LiveMetrics | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.LiveMetrics/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.LiveMetrics-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.LiveMetrics_1.0.0-beta.3/sdk/monitor/Azure.Monitor.OpenTelemetry.LiveMetrics/) | | Personalizer | NuGet [2.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Personalizer/2.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Personalizer-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Personalizer_2.0.0-beta.2/sdk/personalizer/Azure.AI.Personalizer/) | | Playwright | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Developer.Playwright/1.0.0) | [docs](/dotnet/api/overview/azure/Developer.Playwright-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright_1.0.0/sdk/loadtestservice/Azure.Developer.Playwright/) | @@ -114,19 +114,19 @@ | Question Answering Authoring | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.Language.QuestionAnswering.Authoring/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Language.QuestionAnswering.Authoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.QuestionAnswering.Authoring_1.0.0-beta.1/sdk/cognitivelanguage/Azure.AI.Language.QuestionAnswering.Authoring/) | | Schema Registry | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Data.SchemaRegistry/1.4.0) | [docs](/dotnet/api/overview/azure/Data.SchemaRegistry-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.SchemaRegistry_1.4.0/sdk/schemaregistry/Azure.Data.SchemaRegistry/) | | Schema Registry - Avro | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/1.0.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.1/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/) | -| Service Bus | NuGet [7.20.1](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.20.1) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme) | GitHub [7.20.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.20.1/sdk/servicebus/Azure.Messaging.ServiceBus/) | -| Storage - Blobs | NuGet [12.28.0](https://www.nuget.org/packages/Azure.Storage.Blobs/12.28.0)
NuGet [12.29.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.29.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.28.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.28.0/sdk/storage/Azure.Storage.Blobs/)
GitHub [12.29.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.29.0-beta.1/sdk/storage/Azure.Storage.Blobs/) | -| Storage - Blobs Batch | NuGet [12.25.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.25.0)
NuGet [12.26.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.26.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.25.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.25.0/sdk/storage/Azure.Storage.Blobs.Batch/)
GitHub [12.26.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.26.0-beta.1/sdk/storage/Azure.Storage.Blobs.Batch/) | -| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.62](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.62) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.62](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.62/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) | -| Storage - Files Data Lake | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.26.0)
NuGet [12.27.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.27.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.26.0/sdk/storage/Azure.Storage.Files.DataLake/)
GitHub [12.27.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.27.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/) | -| Storage - Files Share | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.26.0)
NuGet [12.27.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.27.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.26.0/sdk/storage/Azure.Storage.Files.Shares/)
GitHub [12.27.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.27.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/) | -| Storage - Queues | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Queues/12.26.0)
NuGet [12.27.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.27.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.26.0/sdk/storage/Azure.Storage.Queues/)
GitHub [12.27.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.27.0-beta.1/sdk/storage/Azure.Storage.Queues/) | +| Service Bus | NuGet [7.20.2](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.20.2) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme) | GitHub [7.20.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.20.2/sdk/servicebus/Azure.Messaging.ServiceBus/) | +| Storage - Blobs | NuGet [12.29.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.29.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.29.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.29.1/sdk/storage/Azure.Storage.Blobs/) | +| Storage - Blobs Batch | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.26.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.26.0/sdk/storage/Azure.Storage.Blobs.Batch/) | +| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.63](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.63) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.63](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.63/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) | +| Storage - Files Data Lake | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.27.1) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.27.1/sdk/storage/Azure.Storage.Files.DataLake/) | +| Storage - Files Share | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.27.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.27.1/sdk/storage/Azure.Storage.Files.Shares/) | +| Storage - Queues | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.27.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.27.1/sdk/storage/Azure.Storage.Queues/) | | Synapse - AccessControl | NuGet [1.0.0-preview.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.AccessControl/1.0.0-preview.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.AccessControl-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.AccessControl_1.0.0-preview.5/sdk/synapse/Azure.Analytics.Synapse.AccessControl/) | | Synapse - Artifacts | NuGet [1.0.0-preview.23](https://www.nuget.org/packages/Azure.Analytics.Synapse.Artifacts/1.0.0-preview.23) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Artifacts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.23](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Artifacts_1.0.0-preview.23/sdk/synapse/Azure.Analytics.Synapse.Artifacts/) | | Synapse - Managed Private Endpoints | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.ManagedPrivateEndpoints/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.ManagedPrivateEndpoints-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.ManagedPrivateEndpoints_1.0.0-beta.5/sdk/synapse/Azure.Analytics.Synapse.ManagedPrivateEndpoints/) | | Synapse - Monitoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Analytics.Synapse.Monitoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Monitoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Monitoring_1.0.0-beta.3/sdk/synapse/Azure.Analytics.Synapse.Monitoring/) | | Synapse - Spark | NuGet [1.0.0-preview.8](https://www.nuget.org/packages/Azure.Analytics.Synapse.Spark/1.0.0-preview.8) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Spark-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Spark_1.0.0-preview.8/sdk/synapse/Azure.Analytics.Synapse.Spark/) | -| System Events | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.0.0) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.SystemEvents-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.0.0/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/) | +| System Events | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.SystemEvents-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.0.0/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.1.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/) | | System.ClientModel | NuGet [1.14.0](https://www.nuget.org/packages/System.ClientModel/1.14.0) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.14.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.14.0/sdk/core/System.ClientModel/) | | Tables | NuGet [12.11.0](https://www.nuget.org/packages/Azure.Data.Tables/12.11.0) | [docs](/dotnet/api/overview/azure/Data.Tables-readme) | GitHub [12.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.Tables_12.11.0/sdk/tables/Azure.Data.Tables/) | | Text Analytics | NuGet [5.3.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.3.0) | [docs](/dotnet/api/overview/azure/AI.TextAnalytics-readme) | GitHub [5.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0/sdk/textanalytics/Azure.AI.TextAnalytics/) | @@ -134,14 +134,14 @@ | Text Translation | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Translation.Text/2.0.0) | [docs](/dotnet/api/overview/azure/AI.Translation.Text-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Text_2.0.0/sdk/translation/Azure.AI.Translation.Text/) | | Time Series Insights | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.IoT.TimeSeriesInsights/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/IoT.TimeSeriesInsights-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.IoT.TimeSeriesInsights_1.0.0-beta.1/sdk/timeseriesinsights/Azure.IoT.TimeSeriesInsights/) | | TimeZone | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Maps.TimeZones/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Maps.TimeZones-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Maps.TimeZones_1.0.0-beta.1/sdk/maps/Azure.Maps.TimeZones/) | -| unknown | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.AgentServer.Invocations/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Invocations-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Invocations_1.0.0-beta.4/sdk/agentserver/Azure.AI.AgentServer.Invocations/) | -| unknown | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.AI.AgentServer.Responses/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Responses-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Responses_1.0.0-beta.5/sdk/agentserver/Azure.AI.AgentServer.Responses/) | -| unknown | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.0.0)
NuGet [2.1.0-beta.3](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.1.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.Extensions.OpenAI-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_2.0.0/sdk/ai/Azure.AI.Extensions.OpenAI/)
GitHub [2.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_2.1.0-beta.3/sdk/ai/Azure.AI.Extensions.OpenAI/) | -| unknown | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Projects.Agents/2.0.0)
NuGet [2.1.0-beta.3](https://www.nuget.org/packages/Azure.AI.Projects.Agents/2.1.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.Projects.Agents-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.Agents_2.0.0/sdk/ai/Azure.AI.Projects.Agents/)
GitHub [2.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.Agents_2.1.0-beta.3/sdk/ai/Azure.AI.Projects.Agents/) | +| unknown | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.AI.AgentServer.Invocations/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Invocations-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Invocations_1.0.0-beta.5/sdk/agentserver/Azure.AI.AgentServer.Invocations/) | +| unknown | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.AI.AgentServer.Responses/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Responses-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Responses_1.0.0-beta.6/sdk/agentserver/Azure.AI.AgentServer.Responses/) | +| unknown | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.0.0)
NuGet [2.1.0-beta.4](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.1.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.Extensions.OpenAI-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_2.0.0/sdk/ai/Azure.AI.Extensions.OpenAI/)
GitHub [2.1.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_2.1.0-beta.4/sdk/ai/Azure.AI.Extensions.OpenAI/) | +| unknown | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Projects.Agents/2.0.0)
NuGet [2.1.0-beta.4](https://www.nuget.org/packages/Azure.AI.Projects.Agents/2.1.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.Projects.Agents-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.Agents_2.0.0/sdk/ai/Azure.AI.Projects.Agents/)
GitHub [2.1.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.Agents_2.1.0-beta.4/sdk/ai/Azure.AI.Projects.Agents/) | | unknown | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.Azure.PostgreSQL.Auth/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.PostgreSQL.Auth-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.PostgreSQL.Auth_1.0.0-beta.1/sdk/postgresql/Microsoft.Azure.PostgreSQL.Auth/) | | Video Analyzer Edge | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.Media.VideoAnalyzer.Edge/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/Media.VideoAnalyzer.Edge-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Media.VideoAnalyzer.Edge_1.0.0-beta.6/sdk/videoanalyzer/Azure.Media.VideoAnalyzer.Edge/) | | Vision Common | NuGet [0.15.1-beta.1](https://www.nuget.org/packages/Azure.AI.Vision.Common/0.15.1-beta.1) | | GitHub [0.15.1-beta.1](https://msasg.visualstudio.com/Skyman/_git/Carbon) | -| Voice Live | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.0.0)
NuGet [1.1.0-beta.4](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.1.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.VoiceLive-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.0.0/sdk/voicelive/Azure.AI.VoiceLive/)
GitHub [1.1.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.1.0-beta.4/sdk/voicelive/Azure.AI.VoiceLive/) | +| Voice Live | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.VoiceLive-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.1.0/sdk/voicelive/Azure.AI.VoiceLive/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.2.0-beta.1/sdk/voicelive/Azure.AI.VoiceLive/) | | WCF Storage Queues | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.WCF.Azure.StorageQueues/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.WCF.Azure.StorageQueues-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.WCF.Azure.StorageQueues_1.0.0-beta.1/sdk/extension-wcf/Microsoft.WCF.Azure.StorageQueues/) | | Web PubSub | NuGet [1.6.0](https://www.nuget.org/packages/Azure.Messaging.WebPubSub/1.6.0) | [docs](/dotnet/api/overview/azure/Messaging.WebPubSub-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.WebPubSub_1.6.0/sdk/webpubsub/Azure.Messaging.WebPubSub/) | | Web PubSub Client | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Messaging.WebPubSub.Client/1.0.0) | [docs](/dotnet/api/overview/azure/Messaging.WebPubSub.Client-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.WebPubSub.Client_1.0.0/sdk/webpubsub/Azure.Messaging.WebPubSub.Client/) | @@ -153,15 +153,15 @@ | Functions extension for Azure Tables | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Tables/1.4.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Tables-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Tables_1.4.0/sdk/tables/Microsoft.Azure.WebJobs.Extensions.Tables/) | | Key Encryptor for .NET Data Protection | NuGet [1.6.3](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Keys/1.6.3) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Keys-readme) | GitHub [1.6.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Keys_1.6.3/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Keys/) | | Secrets Configuration Provider for .NET | NuGet [1.5.1](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.5.1) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.5.1/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) | -| Storage - Common | NuGet [12.27.0](https://www.nuget.org/packages/Azure.Storage.Common/12.27.0)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Common/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.27.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.27.0/sdk/storage/Azure.Storage.Common/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.28.0-beta.1/sdk/storage/Azure.Storage.Common/) | +| Storage - Common | NuGet [12.28.0](https://www.nuget.org/packages/Azure.Storage.Common/12.28.0) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.28.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.28.0/sdk/storage/Azure.Storage.Common/) | | WebJobs Extensions - Event Grid | NuGet [3.5.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid/3.5.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventGrid-readme) | GitHub [3.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventGrid_3.5.0/sdk/eventgrid/Microsoft.Azure.WebJobs.Extensions.EventGrid/) | | WebJobs Extensions - Event Hubs | NuGet [6.5.3](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs/6.5.3) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventHubs-readme) | GitHub [6.5.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5.3/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/) | | WebJobs Extensions - Service Bus | NuGet [5.17.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ServiceBus/5.17.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.ServiceBus-readme) | GitHub [5.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.ServiceBus_5.17.0/sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/) | | WebJobs Extensions - SignalR Service | NuGet [2.1.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.SignalRService/2.1.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.SignalRService-readme) | GitHub [2.1.0](https://github.com/Azure/azure-functions-signalrservice-extension/tree/v1.2.0/src/SignalRServiceExtension) | -| WebJobs Extensions - Storage | NuGet [5.3.7](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage/5.3.7) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage-readme) | GitHub [5.3.7](https://github.com/Azure/azure-webjobs-sdk/tree/master/src/Microsoft.Azure.WebJobs.Extensions.Storage) | +| WebJobs Extensions - Storage | NuGet [5.3.8](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage/5.3.8) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage-readme) | GitHub [5.3.8](https://github.com/Azure/azure-webjobs-sdk/tree/master/src/Microsoft.Azure.WebJobs.Extensions.Storage) | | WebJobs Extensions - Web PubSub | NuGet [1.10.2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.WebPubSub/1.10.2) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.WebPubSub-readme) | GitHub [1.10.2](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.WebPubSub_1.10.2/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSub/) | -| Functions extension for Blob Storage | NuGet [5.3.7](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/5.3.7) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs-readme) | GitHub [5.3.7](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs_5.3.7/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/) | -| Functions extension for Storage Queues | NuGet [5.3.7](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/5.3.7) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage.Queues-readme) | GitHub [5.3.7](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Queues_5.3.7/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/) | +| Functions extension for Blob Storage | NuGet [5.3.8](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/5.3.8) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs-readme) | GitHub [5.3.8](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs_5.3.8/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/) | +| Functions extension for Storage Queues | NuGet [5.3.8](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/5.3.8) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage.Queues-readme) | GitHub [5.3.8](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Queues_5.3.8/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/) | | Functions extension for WebPubSub for SocketIO | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/1.0.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO_1.0.0/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/) | | Provisioning - Apimanagement | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ApiManagement/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ApiManagement-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ApiManagement_1.0.0-beta.1/sdk/apimanagement/Azure.Provisioning.ApiManagement/) | | Provisioning - App Configuration | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.AppConfiguration/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.AppConfiguration/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.AppConfiguration-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppConfiguration_1.1.0/sdk/provisioning/Azure.Provisioning.AppConfiguration/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppConfiguration_1.2.0-beta.1/sdk/provisioning/Azure.Provisioning.AppConfiguration/) | @@ -169,21 +169,24 @@ | Provisioning - App Service | NuGet [1.3.1](https://www.nuget.org/packages/Azure.Provisioning.AppService/1.3.1)
NuGet [1.4.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.AppService/1.4.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.AppService-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppService_1.3.1/sdk/provisioning/Azure.Provisioning.AppService/)
GitHub [1.4.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppService_1.4.0-beta.2/sdk/provisioning/Azure.Provisioning.AppService/) | | Provisioning - Application Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.ApplicationInsights/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ApplicationInsights/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ApplicationInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ApplicationInsights_1.1.0/sdk/provisioning/Azure.Provisioning.ApplicationInsights/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ApplicationInsights_1.2.0-beta.1/sdk/provisioning/Azure.Provisioning.ApplicationInsights/) | | Provisioning - Batch | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Batch/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Batch-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Batch_1.0.0-beta.1/sdk/batch/Azure.Provisioning.Batch/) | -| Provisioning - Cdn | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.Cdn/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.Cdn-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Cdn_1.0.0-beta.2/sdk/cdn/Azure.Provisioning.Cdn/) | +| Provisioning - Botservice | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.BotService/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.BotService-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.BotService_1.0.0-beta.1/sdk/botservice/Azure.Provisioning.BotService/) | +| Provisioning - Cdn | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.Cdn/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.Cdn-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Cdn_1.0.0-beta.3/sdk/cdn/Azure.Provisioning.Cdn/) | | Provisioning - Cognitive Services | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Provisioning.CognitiveServices/1.2.0) | [docs](/dotnet/api/overview/azure/Provisioning.CognitiveServices-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.CognitiveServices_1.2.0/sdk/provisioning/Azure.Provisioning.CognitiveServices/) | -| Provisioning - Communication | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Provisioning.Communication/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Provisioning.Communication-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Communication_1.0.0-beta.4/sdk/provisioning/Azure.Provisioning.Communication/) | +| Provisioning - Communication | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Provisioning.Communication/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Provisioning.Communication-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Communication_1.0.0-beta.5/sdk/communication/Azure.Provisioning.Communication/) | | Provisioning - Compute | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Compute/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Compute-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Compute_1.0.0-beta.1/sdk/compute/Azure.Provisioning.Compute/) | | Provisioning - Container Registry | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.ContainerRegistry/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.ContainerRegistry-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ContainerRegistry_1.1.0/sdk/provisioning/Azure.Provisioning.ContainerRegistry/) | | Provisioning - Container Service | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.Provisioning.ContainerService/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/Provisioning.ContainerService-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ContainerService_1.0.0-beta.6/sdk/containerservice/Azure.Provisioning.ContainerService/) | | Provisioning - Containerinstance | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ContainerInstance/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ContainerInstance-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ContainerInstance_1.0.0-beta.1/sdk/containerinstance/Azure.Provisioning.ContainerInstance/) | | Provisioning - CosmosDB | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.CosmosDB/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.CosmosDB/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.CosmosDB-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.CosmosDB_1.0.0/sdk/provisioning/Azure.Provisioning.CosmosDB/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.CosmosDB_1.1.0-beta.1/sdk/provisioning/Azure.Provisioning.CosmosDB/) | +| Provisioning - Costmanagement | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.CostManagement/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.CostManagement-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.CostManagement_1.0.0-beta.1/sdk/costmanagement/Azure.Provisioning.CostManagement/) | | Provisioning - Deployment | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.Deployment/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.Deployment-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Deployment_1.0.0-beta.2/sdk/provisioning/Azure.Provisioning.Deployment/) | | Provisioning - Dns | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.Dns/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.Dns-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Dns_1.0.0-beta.2/sdk/provisioning/Azure.Provisioning.Dns/) | +| Provisioning - Durabletask | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.DurableTask/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.DurableTask-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.DurableTask_1.0.0-beta.1/sdk/durabletask/Azure.Provisioning.DurableTask/) | | Provisioning - Event Grid | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.EventGrid/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.EventGrid-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.EventGrid_1.1.0/sdk/provisioning/Azure.Provisioning.EventGrid/) | | Provisioning - Event Hubs | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.EventHubs/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.EventHubs-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.EventHubs_1.1.0/sdk/provisioning/Azure.Provisioning.EventHubs/) | -| Provisioning - Frontdoor | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.FrontDoor/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.FrontDoor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.FrontDoor_1.0.0-beta.1/sdk/provisioning/Azure.Provisioning.FrontDoor/) | +| Provisioning - Frontdoor | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.FrontDoor/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.FrontDoor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.FrontDoor_1.0.0-beta.2/sdk/frontdoor/Azure.Provisioning.FrontDoor/) | | Provisioning - Key Vault | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.KeyVault/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.KeyVault/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.KeyVault-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KeyVault_1.1.0/sdk/provisioning/Azure.Provisioning.KeyVault/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KeyVault_1.2.0-beta.1/sdk/provisioning/Azure.Provisioning.KeyVault/) | -| Provisioning - Kubernetes | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Provisioning.Kubernetes/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Provisioning.Kubernetes-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [main](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/hybridkubernetes/Azure.Provisioning.Kubernetes) | +| Provisioning - Kubernetes | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Provisioning.Kubernetes/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Provisioning.Kubernetes-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Kubernetes_1.0.0-beta.4/sdk/hybridkubernetes/Azure.Provisioning.Kubernetes/) | | Provisioning - Kubernetes Configuration | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.KubernetesConfiguration/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.KubernetesConfiguration-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KubernetesConfiguration_1.0.0-beta.3/sdk/provisioning/Azure.Provisioning.KubernetesConfiguration/) | | Provisioning - Kusto | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.Kusto/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.Kusto-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Kusto_1.0.0-beta.2/sdk/provisioning/Azure.Provisioning.Kusto/) | | Provisioning - Logic | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Logic/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Logic-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Logic_1.0.0-beta.1/sdk/logic/Azure.Provisioning.Logic/) | @@ -196,13 +199,17 @@ | Provisioning - Redis | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.Redis/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.Redis-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Redis_1.1.0/sdk/provisioning/Azure.Provisioning.Redis/) | | Provisioning - Redisenterprise | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.RedisEnterprise/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.RedisEnterprise-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.RedisEnterprise_1.1.0/sdk/provisioning/Azure.Provisioning.RedisEnterprise/) | | Provisioning - Resourcegraph | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ResourceGraph/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ResourceGraph-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ResourceGraph_1.0.0-beta.1/sdk/resourcegraph/Azure.Provisioning.ResourceGraph/) | -| Provisioning - Search | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.Search/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Search/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Search-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Search_1.0.0/sdk/provisioning/Azure.Provisioning.Search/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Search_1.1.0-beta.1/sdk/provisioning/Azure.Provisioning.Search/) | +| Provisioning - Search | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.Search/1.0.0)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.Search/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.Search-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Search_1.0.0/sdk/search/Azure.Provisioning.Search/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Search_1.1.0-beta.2/sdk/search/Azure.Provisioning.Search/) | | Provisioning - Securitycenter | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.SecurityCenter/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.SecurityCenter-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.SecurityCenter_1.0.0-beta.1/sdk/securitycenter/Azure.Provisioning.SecurityCenter/) | | Provisioning - Service Bus | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.ServiceBus/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.ServiceBus-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ServiceBus_1.1.0/sdk/provisioning/Azure.Provisioning.ServiceBus/) | +| Provisioning - Servicefabric | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ServiceFabric/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ServiceFabric-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ServiceFabric_1.0.0-beta.1/sdk/servicefabric/Azure.Provisioning.ServiceFabric/) | +| Provisioning - Servicefabricmanagedclusters | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ServiceFabricManagedClusters/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ServiceFabricManagedClusters-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ServiceFabricManagedClusters_1.0.0-beta.1/sdk/servicefabricmanagedclusters/Azure.Provisioning.ServiceFabricManagedClusters/) | | Provisioning - Servicenetworking | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ServiceNetworking/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ServiceNetworking-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ServiceNetworking_1.0.0-beta.1/sdk/servicenetworking/Azure.Provisioning.ServiceNetworking/) | | Provisioning - SignalR | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.SignalR/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.SignalR-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.SignalR_1.1.0/sdk/provisioning/Azure.Provisioning.SignalR/) | | Provisioning - SQL | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.Sql/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Sql/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Sql-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Sql_1.1.0/sdk/provisioning/Azure.Provisioning.Sql/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Sql_1.2.0-beta.1/sdk/provisioning/Azure.Provisioning.Sql/) | +| Provisioning - Standbypool | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.StandbyPool/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.StandbyPool-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.StandbyPool_1.0.0-beta.1/sdk/standbypool/Azure.Provisioning.StandbyPool/) | | Provisioning - Storage | NuGet [1.1.2](https://www.nuget.org/packages/Azure.Provisioning.Storage/1.1.2)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Storage/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Storage-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Storage_1.1.2/sdk/provisioning/Azure.Provisioning.Storage/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Storage_1.2.0-beta.1/sdk/provisioning/Azure.Provisioning.Storage/) | +| Provisioning - Trafficmanager | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.TrafficManager/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.TrafficManager-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.TrafficManager_1.0.0-beta.1/sdk/trafficmanager/Azure.Provisioning.TrafficManager/) | | Provisioning - WebPubSub | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.WebPubSub/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.WebPubSub-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.WebPubSub_1.1.0/sdk/provisioning/Azure.Provisioning.WebPubSub/) | | Resource Management - Advisor | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.Advisor/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.Advisor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Advisor_1.0.0-beta.6/sdk/advisor/Azure.ResourceManager.Advisor/) | | Resource Management - Agricultureplatform | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.AgriculturePlatform/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.AgriculturePlatform-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AgriculturePlatform_1.0.0-beta.2/sdk/agricultureplatform/Azure.ResourceManager.AgriculturePlatform/) | @@ -219,126 +226,130 @@ | Resource Management - Appnetwork | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.AppNetwork/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppNetwork-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppNetwork_1.0.0-beta.1/sdk/appnetwork/Azure.ResourceManager.AppNetwork/) | | Resource Management - Arc ScVmm | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ArcScVmm/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ArcScVmm-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ArcScVmm_1.0.0-beta.4/sdk/arc-scvmm/Azure.ResourceManager.ArcScVmm/) | | Resource Management - Arizeaiobservabilityeval | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.ArizeAIObservabilityEval/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ArizeAIObservabilityEval-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ArizeAIObservabilityEval_1.0.1/sdk/arizeaiobservabilityeval/Azure.ResourceManager.ArizeAIObservabilityEval/) | -| Resource Management - Artifactsigning | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.ArtifactSigning/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ArtifactSigning-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ArtifactSigning_1.0.1/sdk/artifactsigning/Azure.ResourceManager.ArtifactSigning/) | +| Resource Management - Artifactsigning | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.ArtifactSigning/1.0.1)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ArtifactSigning/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ArtifactSigning-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ArtifactSigning_1.0.1/sdk/artifactsigning/Azure.ResourceManager.ArtifactSigning/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ArtifactSigning_1.1.0-beta.1/sdk/artifactsigning/Azure.ResourceManager.ArtifactSigning/) | | Resource Management - Astro | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Astro/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Astro-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Astro_1.0.0-beta.3/sdk/astronomer/Azure.ResourceManager.Astro/) | | Resource Management - Attestation | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.Attestation/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.Attestation-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Attestation_1.0.0-beta.6/sdk/attestation/Azure.ResourceManager.Attestation/) | | Resource Management - Authorization | NuGet [1.1.7](https://www.nuget.org/packages/Azure.ResourceManager.Authorization/1.1.7) | [docs](/dotnet/api/overview/azure/ResourceManager.Authorization-readme) | GitHub [1.1.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Authorization_1.1.7/sdk/authorization/Azure.ResourceManager.Authorization/) | | Resource Management - Automanage | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Automanage/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Automanage-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Automanage_1.1.2/sdk/automanage/Azure.ResourceManager.Automanage/) | | Resource Management - Automation | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Automation/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Automation-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Automation_1.1.2/sdk/automation/Azure.ResourceManager.Automation/) | -| Resource Management - Azure AI Search | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.3.0)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Search-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.3.0/sdk/search/Azure.ResourceManager.Search/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.4.0-beta.1/sdk/search/Azure.ResourceManager.Search/) | -| Resource Management - Azure Stack HCI | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Hci-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.2.1/sdk/azurestackhci/Azure.ResourceManager.Hci/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.3.0-beta.1/sdk/azurestackhci/Azure.ResourceManager.Hci/) | +| Resource Management - Azure AI Search | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.3.0)
NuGet [1.4.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.4.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Search-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.3.0/sdk/search/Azure.ResourceManager.Search/)
GitHub [1.4.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.4.0-beta.2/sdk/search/Azure.ResourceManager.Search/) | +| Resource Management - Azure Stack HCI | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.2.1)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Hci-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.2.1/sdk/azurestackhci/Azure.ResourceManager.Hci/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.3.0-beta.2/sdk/azurestackhci/Azure.ResourceManager.Hci/) | | Resource Management - Azure VMware Solution | NuGet [1.6.1](https://www.nuget.org/packages/Azure.ResourceManager.Avs/1.6.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Avs-readme) | GitHub [1.6.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Avs_1.6.1/sdk/avs/Azure.ResourceManager.Avs/) | | Resource Management - Batch | NuGet [1.7.0](https://www.nuget.org/packages/Azure.ResourceManager.Batch/1.7.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Batch-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Batch_1.7.0/sdk/batch/Azure.ResourceManager.Batch/) | | Resource Management - Billing | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.Billing/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Billing-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Billing_1.2.2/sdk/billing/Azure.ResourceManager.Billing/) | | Resource Management - Billing Benefits | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.BillingBenefits/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.BillingBenefits-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.BillingBenefits_1.0.0-beta.5/sdk/billingbenefits/Azure.ResourceManager.BillingBenefits/) | +| Resource Management - Billing.Trust | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Billing.Trust/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Billing.Trust-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Billing.Trust_1.0.0-beta.1/sdk/billingtrust/Azure.ResourceManager.Billing.Trust/) | | Resource Management - Blueprint | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.Blueprint/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.Blueprint-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Blueprint_1.0.0-beta.6/sdk/blueprint/Azure.ResourceManager.Blueprint/) | | Resource Management - Bot Service | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.BotService/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.BotService/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.BotService-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.BotService_1.1.1/sdk/botservice/Azure.ResourceManager.BotService/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.BotService_1.2.0-beta.1/sdk/botservice/Azure.ResourceManager.BotService/) | | Resource Management - Carbonoptimization | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.CarbonOptimization/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.CarbonOptimization-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CarbonOptimization_1.0.1/sdk/carbon/Azure.ResourceManager.CarbonOptimization/) | | Resource Management - Certificateregistration | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.CertificateRegistration/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.CertificateRegistration-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CertificateRegistration_1.0.0/sdk/certificateregistration/Azure.ResourceManager.CertificateRegistration/) | -| Resource Management - Chaos | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Chaos-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.1.1/sdk/chaos/Azure.ResourceManager.Chaos/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.2.0-beta.1/sdk/chaos/Azure.ResourceManager.Chaos/) | -| Resource Management - Cloudhealth | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.CloudHealth/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.CloudHealth-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CloudHealth_1.0.0-beta.2/sdk/cloudhealth/Azure.ResourceManager.CloudHealth/) | -| Resource Management - Cognitive Services | NuGet [1.5.2](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.5.2)
NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.CognitiveServices-readme) | GitHub [1.5.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.5.2/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/)
GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.6.0-beta.1/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/) | +| Resource Management - Chaos | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.1.1)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Chaos-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.1.1/sdk/chaos/Azure.ResourceManager.Chaos/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.2.0-beta.2/sdk/chaos/Azure.ResourceManager.Chaos/) | +| Resource Management - Cloudhealth | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.CloudHealth/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.CloudHealth-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CloudHealth_1.0.0-beta.3/sdk/cloudhealth/Azure.ResourceManager.CloudHealth/) | +| Resource Management - Cognitive Services | NuGet [1.5.2](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.5.2)
NuGet [1.6.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.6.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.CognitiveServices-readme) | GitHub [1.5.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.5.2/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/)
GitHub [1.6.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.6.0-beta.3/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/) | | Resource Management - Communication | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.3.1/sdk/communication/Azure.ResourceManager.Communication/) | -| Resource Management - Compute | NuGet [1.14.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.14.0)
NuGet [1.15.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.15.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.14.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.14.0/sdk/compute/Azure.ResourceManager.Compute/)
GitHub [1.15.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.15.0-beta.1/sdk/compute/Azure.ResourceManager.Compute/) | -| Resource Management - Compute Fleet | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeFleet-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeFleet_1.0.0/sdk/computefleet/Azure.ResourceManager.ComputeFleet/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeFleet_1.1.0-beta.1/sdk/computefleet/Azure.ResourceManager.ComputeFleet/) | +| Resource Management - Compute | NuGet [1.16.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.16.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.16.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.16.0/sdk/compute/Azure.ResourceManager.Compute/) | +| Resource Management - Compute Fleet | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.0.0)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeFleet-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeFleet_1.0.0/sdk/computefleet/Azure.ResourceManager.ComputeFleet/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeFleet_1.1.0-beta.2/sdk/computefleet/Azure.ResourceManager.ComputeFleet/) | | Resource Management - Compute Schedule | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.1.0)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeSchedule-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeSchedule_1.1.0/sdk/computeschedule/Azure.ResourceManager.ComputeSchedule/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeSchedule_1.2.0-beta.4/sdk/computeschedule/Azure.ResourceManager.ComputeSchedule/) | +| Resource Management - Compute.Bulkactions | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute.BulkActions/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute.BulkActions-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute.BulkActions_1.1.0/sdk/compute/Azure.ResourceManager.Compute.BulkActions/) | | Resource Management - Compute.Recommender | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute.Recommender/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute.Recommender-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute.Recommender_1.0.0/sdk/computerecommender/Azure.ResourceManager.Compute.Recommender/) | -| Resource Management - Computelimit | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeLimit/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeLimit-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeLimit_1.0.0/sdk/computelimit/Azure.ResourceManager.ComputeLimit/) | +| Resource Management - Computebulkactions | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ComputeBulkActions/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeBulkActions_1.0.0-beta.1/sdk/computebulkactions/Azure.ResourceManager.ComputeBulkActions/) | +| Resource Management - Computelimit | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeLimit/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeLimit-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeLimit_1.3.0/sdk/computelimit/Azure.ResourceManager.ComputeLimit/) | | Resource Management - Confidential Ledger | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ConfidentialLedger-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConfidentialLedger_1.1.0/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger/) | | Resource Management - Confluent | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Confluent-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.2.1/sdk/confluent/Azure.ResourceManager.Confluent/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.3.0-beta.1/sdk/confluent/Azure.ResourceManager.Confluent/) | | Resource Management - Connected VMware vSphere | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedVMwarevSphere/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedVMwarevSphere-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedVMwarevSphere_1.1.2/sdk/connectedvmwarevsphere/Azure.ResourceManager.ConnectedVMwarevSphere/) | -| Resource Management - Connectedcache | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedCache/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedCache-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedCache_1.0.0-beta.2/sdk/connectedcache/Azure.ResourceManager.ConnectedCache/) | +| Resource Management - Connectedcache | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedCache/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedCache-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedCache_1.0.0-beta.3/sdk/connectedcache/Azure.ResourceManager.ConnectedCache/) | | Resource Management - Consumption | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Consumption/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Consumption-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Consumption_1.1.0/sdk/consumption/Azure.ResourceManager.Consumption/) | | Resource Management - Container Apps | NuGet [1.5.0](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.5.0)
NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppContainers-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.5.0/sdk/containerapps/Azure.ResourceManager.AppContainers/)
GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.6.0-beta.1/sdk/containerapps/Azure.ResourceManager.AppContainers/) | -| Resource Management - Container Instances | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerInstance-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.0/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/) | +| Resource Management - Container Instances | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerInstance-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.1/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/) | | Resource Management - Container Orchestrator Runtime | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ContainerOrchestratorRuntime/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerOrchestratorRuntime-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerOrchestratorRuntime_1.0.0-beta.2/sdk/containerorchestratorruntime/Azure.ResourceManager.ContainerOrchestratorRuntime/) | | Resource Management - Container Registry | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.4.0)
NuGet [1.5.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.5.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.4.0/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/)
GitHub [1.5.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.5.0-beta.2/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/) | -| Resource Management - Container Service | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.4.0)
NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerService-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.4.0/sdk/containerservice/Azure.ResourceManager.ContainerService/)
GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.5.0-beta.1/sdk/containerservice/Azure.ResourceManager.ContainerService/) | -| Resource Management - Container Service Fleet | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceFleet/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceFleet/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerServiceFleet-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceFleet_1.1.0/sdk/fleet/Azure.ResourceManager.ContainerServiceFleet/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceFleet_1.2.0-beta.3/sdk/fleet/Azure.ResourceManager.ContainerServiceFleet/) | +| Resource Management - Container Service | NuGet [1.5.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.5.0)
NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerService-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.5.0/sdk/containerservice/Azure.ResourceManager.ContainerService/)
GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.6.0-beta.1/sdk/containerservice/Azure.ResourceManager.ContainerService/) | +| Resource Management - Container Service Fleet | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceFleet/1.1.0)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceFleet/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerServiceFleet-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceFleet_1.1.0/sdk/fleet/Azure.ResourceManager.ContainerServiceFleet/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceFleet_1.2.0-beta.4/sdk/fleet/Azure.ResourceManager.ContainerServiceFleet/) | | Resource Management - Containerregistry.Tasks | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry.Tasks/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry.Tasks-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry.Tasks_1.0.0-beta.1/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry.Tasks/) | | Resource Management - Content Delivery Network | NuGet [1.5.1](https://www.nuget.org/packages/Azure.ResourceManager.Cdn/1.5.1)
NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Cdn/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Cdn-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Cdn_1.5.1/sdk/cdn/Azure.ResourceManager.Cdn/)
GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Cdn_1.6.0-beta.1/sdk/cdn/Azure.ResourceManager.Cdn/) | -| Resource Management - Cosmos DB | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.CosmosDB/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.CosmosDB-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CosmosDB_1.4.0/sdk/cosmosdb/Azure.ResourceManager.CosmosDB/) | +| Resource Management - Cosmos DB | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.CosmosDB/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.CosmosDB-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CosmosDB_1.4.1/sdk/cosmosdb/Azure.ResourceManager.CosmosDB/) | | Resource Management - Cosmos DB for PostgreSQL | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.CosmosDBForPostgreSql/1.0.0)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.CosmosDBForPostgreSql/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.CosmosDBForPostgreSql-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CosmosDBForPostgreSql_1.0.0/sdk/cosmosdbforpostgresql/Azure.ResourceManager.CosmosDBForPostgreSql/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CosmosDBForPostgreSql_1.1.0-beta.3/sdk/cosmosdbforpostgresql/Azure.ResourceManager.CosmosDBForPostgreSql/) | | Resource Management - Costmanagement | NuGet [1.0.3](https://www.nuget.org/packages/Azure.ResourceManager.CostManagement/1.0.3) | [docs](/dotnet/api/overview/azure/ResourceManager.CostManagement-readme) | GitHub [1.0.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CostManagement_1.0.3/sdk/costmanagement/Azure.ResourceManager.CostManagement/) | | Resource Management - Customer Insights | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.CustomerInsights/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.CustomerInsights-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CustomerInsights_1.0.0/sdk/customer-insights/Azure.ResourceManager.CustomerInsights/) | -| Resource Management - Data Box | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.DataBox/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DataBox-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBox_1.1.1/sdk/databox/Azure.ResourceManager.DataBox/) | -| Resource Management - Data Box Edge | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.DataBoxEdge/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DataBoxEdge-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBoxEdge_1.1.1/sdk/databoxedge/Azure.ResourceManager.DataBoxEdge/) | -| Resource Management - Data Factory | NuGet [1.11.0](https://www.nuget.org/packages/Azure.ResourceManager.DataFactory/1.11.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DataFactory-readme) | GitHub [1.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataFactory_1.11.0/sdk/datafactory/Azure.ResourceManager.DataFactory/) | +| Resource Management - Data Box | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.DataBox/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataBox-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBox_1.1.2/sdk/databox/Azure.ResourceManager.DataBox/) | +| Resource Management - Data Box Edge | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.DataBoxEdge/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataBoxEdge-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBoxEdge_1.1.2/sdk/databoxedge/Azure.ResourceManager.DataBoxEdge/) | +| Resource Management - Data Factory | NuGet [1.11.1](https://www.nuget.org/packages/Azure.ResourceManager.DataFactory/1.11.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DataFactory-readme) | GitHub [1.11.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataFactory_1.11.1/sdk/datafactory/Azure.ResourceManager.DataFactory/) | | Resource Management - Data Lake Analytics | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.DataLakeAnalytics/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataLakeAnalytics-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataLakeAnalytics_1.1.2/sdk/datalake-analytics/Azure.ResourceManager.DataLakeAnalytics/) | | Resource Management - Data Lake Store | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.DataLakeStore/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataLakeStore-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataLakeStore_1.1.2/sdk/datalake-store/Azure.ResourceManager.DataLakeStore/) | -| Resource Management - Data Migration | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DataMigration/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DataMigration-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataMigration_1.0.0/sdk/datamigration/Azure.ResourceManager.DataMigration/) | +| Resource Management - Data Migration | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.DataMigration/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DataMigration-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataMigration_1.0.1/sdk/datamigration/Azure.ResourceManager.DataMigration/) | | Resource Management - Data Protection | NuGet [1.8.0](https://www.nuget.org/packages/Azure.ResourceManager.DataProtectionBackup/1.8.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DataProtectionBackup-readme) | GitHub [1.8.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataProtectionBackup_1.8.0/sdk/dataprotection/Azure.ResourceManager.DataProtectionBackup/) | | Resource Management - Data Share | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.DataShare/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataShare-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataShare_1.1.2/sdk/datashare/Azure.ResourceManager.DataShare/) | | Resource Management - Database Fleet Manager | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DatabaseFleetManager/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DatabaseFleetManager-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DatabaseFleetManager_1.0.0-beta.1/sdk/fleet/Azure.ResourceManager.DatabaseFleetManager/) | | Resource Management - Database Watcher | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.DatabaseWatcher/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DatabaseWatcher-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DatabaseWatcher_1.0.0-beta.2/sdk/databasewatcher/Azure.ResourceManager.DatabaseWatcher/) | -| Resource Management - Datadog | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Datadog/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Datadog-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Datadog_1.0.0/sdk/datadog/Azure.ResourceManager.Datadog/) | +| Resource Management - Datadog | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Datadog/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Datadog/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Datadog-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Datadog_1.0.0/sdk/datadog/Azure.ResourceManager.Datadog/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Datadog_1.1.0-beta.1/sdk/datadog/Azure.ResourceManager.Datadog/) | | Resource Management - Defender EASM | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.DefenderEasm/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.DefenderEasm-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DefenderEasm_1.0.0-beta.4/sdk/defendereasm/Azure.ResourceManager.DefenderEasm/) | -| Resource Management - Dell.Storage | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Dell.Storage/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Dell.Storage-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dell.Storage_1.0.0/sdk/dellstorage/Azure.ResourceManager.Dell.Storage/) | +| Resource Management - Dell.Storage | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.Dell.Storage/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Dell.Storage-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dell.Storage_1.0.1/sdk/dellstorage/Azure.ResourceManager.Dell.Storage/) | | Resource Management - Dependencymap | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.DependencyMap/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DependencyMap-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DependencyMap_1.0.0-beta.2/sdk/dependencymap/Azure.ResourceManager.DependencyMap/) | | Resource Management - Deployment Manager | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.DeploymentManager/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.DeploymentManager-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeploymentManager_1.0.0-beta.3/sdk/deploymentmanager/Azure.ResourceManager.DeploymentManager/) | | Resource Management - Desktop Virtualization | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.DesktopVirtualization/1.3.2)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DesktopVirtualization/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DesktopVirtualization-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DesktopVirtualization_1.3.2/sdk/desktopvirtualization/Azure.ResourceManager.DesktopVirtualization/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DesktopVirtualization_1.4.0-beta.1/sdk/desktopvirtualization/Azure.ResourceManager.DesktopVirtualization/) | | Resource Management - Dev Center | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.DevCenter/1.0.2)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DevCenter/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DevCenter-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DevCenter_1.0.2/sdk/devcenter/Azure.ResourceManager.DevCenter/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DevCenter_1.1.0-beta.1/sdk/devcenter/Azure.ResourceManager.DevCenter/) | | Resource Management - Dev Spaces | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DevSpaces/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DevSpaces-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DevSpaces_1.0.0/sdk/devspaces/Azure.ResourceManager.DevSpaces/) | -| Resource Management - Device Provisioning Services | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.DeviceProvisioningServices/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DeviceProvisioningServices/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DeviceProvisioningServices-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceProvisioningServices_1.2.1/sdk/deviceprovisioningservices/Azure.ResourceManager.DeviceProvisioningServices/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceProvisioningServices_1.3.0-beta.1/sdk/deviceprovisioningservices/Azure.ResourceManager.DeviceProvisioningServices/) | +| Resource Management - Device Provisioning Services | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.DeviceProvisioningServices/1.2.1)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.DeviceProvisioningServices/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DeviceProvisioningServices-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceProvisioningServices_1.2.1/sdk/deviceprovisioningservices/Azure.ResourceManager.DeviceProvisioningServices/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceProvisioningServices_1.3.0-beta.2/sdk/deviceprovisioningservices/Azure.ResourceManager.DeviceProvisioningServices/) | | Resource Management - Device Registry | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DeviceRegistry/1.0.0)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.DeviceRegistry/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.DeviceRegistry-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceRegistry_1.0.0/sdk/deviceregistry/Azure.ResourceManager.DeviceRegistry/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceRegistry_1.1.0-beta.3/sdk/deviceregistry/Azure.ResourceManager.DeviceRegistry/) | | Resource Management - Device Update | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.DeviceUpdate/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DeviceUpdate-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DeviceUpdate_1.0.2/sdk/deviceupdate/Azure.ResourceManager.DeviceUpdate/) | | Resource Management - DevOps Infrastructure | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DevOpsInfrastructure/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DevOpsInfrastructure-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DevOpsInfrastructure_1.0.0/sdk/devopsinfrastructure/Azure.ResourceManager.DevOpsInfrastructure/) | | Resource Management - DevTest Labs | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.DevTestLabs/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DevTestLabs-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DevTestLabs_1.1.2/sdk/devtestlabs/Azure.ResourceManager.DevTestLabs/) | | Resource Management - Digital Twins | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.DigitalTwins/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DigitalTwins-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DigitalTwins_1.3.2/sdk/digitaltwins/Azure.ResourceManager.DigitalTwins/) | | Resource Management - Disconnectedoperations | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DisconnectedOperations/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DisconnectedOperations-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DisconnectedOperations_1.0.0/sdk/disconnectedoperations/Azure.ResourceManager.DisconnectedOperations/) | -| Resource Management - DNS | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Dns/1.1.1)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Dns/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Dns-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dns_1.1.1/sdk/dns/Azure.ResourceManager.Dns/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dns_1.2.0-beta.3/sdk/dns/Azure.ResourceManager.Dns/) | -| Resource Management - DNS Resolver | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.DnsResolver/1.2.0)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DnsResolver/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DnsResolver-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DnsResolver_1.2.0/sdk/dnsresolver/Azure.ResourceManager.DnsResolver/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DnsResolver_1.3.0-beta.1/sdk/dnsresolver/Azure.ResourceManager.DnsResolver/) | +| Resource Management - DNS | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Dns/1.1.1)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Dns/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Dns-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dns_1.1.1/sdk/dns/Azure.ResourceManager.Dns/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dns_1.2.0-beta.4/sdk/dns/Azure.ResourceManager.Dns/) | +| Resource Management - DNS Resolver | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.DnsResolver/1.2.0)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.DnsResolver/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DnsResolver-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DnsResolver_1.2.0/sdk/dnsresolver/Azure.ResourceManager.DnsResolver/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DnsResolver_1.3.0-beta.2/sdk/dnsresolver/Azure.ResourceManager.DnsResolver/) | | Resource Management - Domainregistration | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DomainRegistration/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DomainRegistration-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DomainRegistration_1.0.0-beta.1/sdk/domainregistration/Azure.ResourceManager.DomainRegistration/) | | Resource Management - Durabletask | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.DurableTask/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.DurableTask-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DurableTask_1.1.0/sdk/durabletask/Azure.ResourceManager.DurableTask/) | -| Resource Management - Dynatrace | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Dynatrace/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Dynatrace-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dynatrace_1.2.0/sdk/dynatrace/Azure.ResourceManager.Dynatrace/) | +| Resource Management - Dynatrace | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Dynatrace/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Dynatrace-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Dynatrace_1.2.1/sdk/dynatrace/Azure.ResourceManager.Dynatrace/) | | Resource Management - Edge Order | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.EdgeOrder/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.EdgeOrder-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EdgeOrder_1.1.2/sdk/edgeorder/Azure.ResourceManager.EdgeOrder/) | | Resource Management - Edge Zones | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.EdgeZones/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.EdgeZones-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EdgeZones_1.0.0-beta.3/sdk/edgezones/Azure.ResourceManager.EdgeZones/) | -| Resource Management - Edgeactions | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.EdgeActions/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.EdgeActions-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EdgeActions_1.0.0-beta.2/sdk/edgeactions/Azure.ResourceManager.EdgeActions/) | -| Resource Management - Elastic | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Elastic/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Elastic-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Elastic_1.1.0/sdk/elastic/Azure.ResourceManager.Elastic/) | -| Resource Management - ElasticSan | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.ElasticSan/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ElasticSan-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ElasticSan_1.2.0/sdk/elasticsan/Azure.ResourceManager.ElasticSan/) | +| Resource Management - Edgeactions | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.EdgeActions/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.EdgeActions-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EdgeActions_1.0.0-beta.3/sdk/edgeactions/Azure.ResourceManager.EdgeActions/) | +| Resource Management - Elastic | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Elastic/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Elastic-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Elastic_1.1.1/sdk/elastic/Azure.ResourceManager.Elastic/) | +| Resource Management - ElasticSan | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.ElasticSan/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ElasticSan-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ElasticSan_1.2.1/sdk/elasticsan/Azure.ResourceManager.ElasticSan/) | | Resource Management - Energy Services | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.EnergyServices/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.EnergyServices-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EnergyServices_1.0.0-beta.4/sdk/openenergyplatform/Azure.ResourceManager.EnergyServices/) | -| Resource Management - Event Grid | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.EventGrid-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.1.0/sdk/eventgrid/Azure.ResourceManager.EventGrid/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.2.0-beta.2/sdk/eventgrid/Azure.ResourceManager.EventGrid/) | -| Resource Management - Event Hubs | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.EventHubs-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.2.1/sdk/eventhub/Azure.ResourceManager.EventHubs/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.3.0-beta.1/sdk/eventhub/Azure.ResourceManager.EventHubs/) | +| Resource Management - Event Grid | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.EventGrid-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.1.0/sdk/eventgrid/Azure.ResourceManager.EventGrid/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.2.0-beta.3/sdk/eventgrid/Azure.ResourceManager.EventGrid/) | +| Resource Management - Event Hubs | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.2.1)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.EventHubs-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.2.1/sdk/eventhub/Azure.ResourceManager.EventHubs/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.3.0-beta.2/sdk/eventhub/Azure.ResourceManager.EventHubs/) | | Resource Management - Extended Location | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.ExtendedLocations/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ExtendedLocations-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ExtendedLocations_1.1.2/sdk/extendedlocation/Azure.ResourceManager.ExtendedLocations/) | -| Resource Management - Fabric | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Fabric-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.0.0/sdk/fabric/Azure.ResourceManager.Fabric/) | +| Resource Management - Fabric | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Fabric-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.0.0/sdk/fabric/Azure.ResourceManager.Fabric/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.1.0-beta.1/sdk/fabric/Azure.ResourceManager.Fabric/) | | Resource Management - Fileshares | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.FileShares/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.FileShares-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FileShares_1.0.0/sdk/fileshares/Azure.ResourceManager.FileShares/) | | Resource Management - Fluid Relay | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.FluidRelay/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.FluidRelay-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FluidRelay_1.1.2/sdk/fluidrelay/Azure.ResourceManager.FluidRelay/) | -| Resource Management - Front Door | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.FrontDoor/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.FrontDoor-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FrontDoor_1.4.1/sdk/frontdoor/Azure.ResourceManager.FrontDoor/) | +| Resource Management - Front Door | NuGet [1.4.2](https://www.nuget.org/packages/Azure.ResourceManager.FrontDoor/1.4.2) | [docs](/dotnet/api/overview/azure/ResourceManager.FrontDoor-readme) | GitHub [1.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FrontDoor_1.4.2/sdk/frontdoor/Azure.ResourceManager.FrontDoor/) | | Resource Management - Graph Services | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.GraphServices/1.1.3) | [docs](/dotnet/api/overview/azure/ResourceManager.GraphServices-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.GraphServices_1.1.3/sdk/graphservices/Azure.ResourceManager.GraphServices/) | | Resource Management - Guest Configuration | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.GuestConfiguration/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.GuestConfiguration-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.GuestConfiguration_1.2.2/sdk/guestconfiguration/Azure.ResourceManager.GuestConfiguration/) | | Resource Management - Hardware Security Modules | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.HardwareSecurityModules/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.HardwareSecurityModules-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HardwareSecurityModules_1.0.1/sdk/hardwaresecuritymodules/Azure.ResourceManager.HardwareSecurityModules/) | | Resource Management - Hci.Vm | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Hci.Vm/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Hci.Vm-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci.Vm_1.0.0-beta.2/sdk/azurestackhci/Azure.ResourceManager.Hci.Vm/) | -| Resource Management - HDInsight | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.HDInsight/1.1.0)
NuGet [1.2.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.HDInsight/1.2.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.HDInsight-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HDInsight_1.1.0/sdk/hdinsight/Azure.ResourceManager.HDInsight/)
GitHub [1.2.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HDInsight_1.2.0-beta.5/sdk/hdinsight/Azure.ResourceManager.HDInsight/) | +| Resource Management - HDInsight | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.HDInsight/1.1.0)
NuGet [1.2.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.HDInsight/1.2.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.HDInsight-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HDInsight_1.1.0/sdk/hdinsight/Azure.ResourceManager.HDInsight/)
GitHub [1.2.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HDInsight_1.2.0-beta.6/sdk/hdinsight/Azure.ResourceManager.HDInsight/) | | Resource Management - HDInsight Containers | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.HDInsight.Containers/1.0.0-beta.5) | | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HDInsight.Containers_1.0.0-beta.5/sdk/hdinsightcontainers/Azure.ResourceManager.HDInsight.Containers/) | -| Resource Management - Health Bot | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.HealthBot/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.HealthBot-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthBot_1.2.0/sdk/healthbot/Azure.ResourceManager.HealthBot/) | +| Resource Management - Health Bot | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.HealthBot/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.HealthBot-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthBot_1.3.0/sdk/healthbot/Azure.ResourceManager.HealthBot/) | | Resource Management - Health Data AI Services | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.HealthDataAIServices/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.HealthDataAIServices-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthDataAIServices_1.0.1/sdk/healthdataaiservices/Azure.ResourceManager.HealthDataAIServices/) | | Resource Management - Healthcare APIs | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.HealthcareApis/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.HealthcareApis-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthcareApis_1.3.2/sdk/healthcareapis/Azure.ResourceManager.HealthcareApis/) | +| Resource Management - Horizondb | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.HorizonDB/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HorizonDB_1.0.0-beta.1/sdk/horizondb/Azure.ResourceManager.HorizonDB/) | | Resource Management - Hybrid Compute | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.HybridCompute/1.0.0)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.HybridCompute/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridCompute-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridCompute_1.0.0/sdk/hybridcompute/Azure.ResourceManager.HybridCompute/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridCompute_1.1.0-beta.2/sdk/hybridcompute/Azure.ResourceManager.HybridCompute/) | | Resource Management - Hybrid Connectivity | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.HybridConnectivity/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridConnectivity-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridConnectivity_1.1.1/sdk/hybridconnectivity/Azure.ResourceManager.HybridConnectivity/) | | Resource Management - Hybrid Container Service | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.HybridContainerService/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridContainerService-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridContainerService_1.0.2/sdk/hybridaks/Azure.ResourceManager.HybridContainerService/) | | Resource Management - Hybrid Data | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.HybridData/1.0.1)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.HybridData/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridData-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridData_1.1.0-beta.1/sdk/hybriddatamanager/Azure.ResourceManager.HybridData) | | Resource Management - Hybrid Kubernetes | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.Kubernetes/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.Kubernetes-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Kubernetes_1.0.0-beta.6/sdk/hybridkubernetes/Azure.ResourceManager.Kubernetes/) | | Resource Management - Hybrid Network | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.HybridNetwork/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridNetwork-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridNetwork_1.0.0-beta.3/sdk/hybridnetwork/Azure.ResourceManager.HybridNetwork/) | -| Resource Management - Impactreporting | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ImpactReporting/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ImpactReporting-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ImpactReporting_1.0.0-beta.1/sdk/impactreporting/Azure.ResourceManager.ImpactReporting/) | +| Resource Management - Impactreporting | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ImpactReporting/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ImpactReporting-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ImpactReporting_1.0.0-beta.2/sdk/impactreporting/Azure.ResourceManager.ImpactReporting/) | | Resource Management - Informatica Data Management | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.InformaticaDataManagement/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.InformaticaDataManagement-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.InformaticaDataManagement_1.0.0/sdk/informaticadatamanagement/Azure.ResourceManager.InformaticaDataManagement/) | | Resource Management - IoT Central | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral/1.0.1)
NuGet [1.1.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral/1.1.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.IotCentral-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotCentral_1.0.1/sdk/iotcentral/Azure.ResourceManager.IotCentral/)
GitHub [1.1.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotCentral_1.1.0-beta.4/sdk/iotcentral/Azure.ResourceManager.IotCentral/) | -| Resource Management - IoT Firmware Defense | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.IotFirmwareDefense-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.1.0/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/) | -| Resource Management - IoT Hub | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.1.1)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.IotHub-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.1.1/sdk/iothub/Azure.ResourceManager.IotHub/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.2.0-beta.2/sdk/iothub/Azure.ResourceManager.IotHub/) | -| Resource Management - IoT Operations | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.IotOperations/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.IotOperations/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.IotOperations-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotOperations_1.0.0/sdk/iotoperations/Azure.ResourceManager.IotOperations/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotOperations_1.1.0-beta.1/sdk/iotoperations/Azure.ResourceManager.IotOperations/) | +| Resource Management - IoT Firmware Defense | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.IotFirmwareDefense-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.1.1/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/) | +| Resource Management - IoT Hub | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.1.1)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.IotHub-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.1.1/sdk/iothub/Azure.ResourceManager.IotHub/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.2.0-beta.3/sdk/iothub/Azure.ResourceManager.IotHub/) | +| Resource Management - IoT Operations | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.IotOperations/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.IotOperations-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotOperations_1.1.0/sdk/iotoperations/Azure.ResourceManager.IotOperations/) | | Resource Management - Key Vault | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.KeyVault/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.KeyVault-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.KeyVault_1.4.0/sdk/keyvault/Azure.ResourceManager.KeyVault/) | | Resource Management - Kubernetes Configuration | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.KubernetesConfiguration/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.KubernetesConfiguration-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.KubernetesConfiguration_1.2.1/sdk/kubernetesconfiguration/Azure.ResourceManager.KubernetesConfiguration/) | | Resource Management - Kubernetesconfiguration.Extensions | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.KubernetesConfiguration.Extensions/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.KubernetesConfiguration.Extensions-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.KubernetesConfiguration.Extensions_1.0.0/sdk/kubernetesconfiguration/Azure.ResourceManager.KubernetesConfiguration.Extensions/) | -| Resource Management - Kusto | NuGet [1.6.2](https://www.nuget.org/packages/Azure.ResourceManager.Kusto/1.6.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Kusto-readme) | GitHub [1.6.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Kusto_1.6.2/sdk/kusto/Azure.ResourceManager.Kusto/) | +| Resource Management - Kusto | NuGet [1.6.3](https://www.nuget.org/packages/Azure.ResourceManager.Kusto/1.6.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Kusto-readme) | GitHub [1.6.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Kusto_1.6.3/sdk/kusto/Azure.ResourceManager.Kusto/) | | Resource Management - Lab Services | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.LabServices/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.LabServices-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.LabServices_1.1.2/sdk/labservices/Azure.ResourceManager.LabServices/) | | Resource Management - Lambdatesthyperexecute | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.LambdaTestHyperExecute/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.LambdaTestHyperExecute-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.LambdaTestHyperExecute_1.0.1/sdk/lambdatesthyperexecute/Azure.ResourceManager.LambdaTestHyperExecute/) | | Resource Management - Large Instance | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.LargeInstance/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.LargeInstance-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.LargeInstance_1.0.0-beta.3/sdk/azurelargeinstance/Azure.ResourceManager.LargeInstance/) | -| Resource Management - Load Testing | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.LoadTesting/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.LoadTesting-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.LoadTesting_1.1.2/sdk/loadtestservice/Azure.ResourceManager.LoadTesting/) | -| Resource Management - Log Analytics | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.OperationalInsights/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.OperationalInsights-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OperationalInsights_1.3.1/sdk/operationalinsights/Azure.ResourceManager.OperationalInsights/) | +| Resource Management - Load Testing | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.LoadTesting/1.1.2)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.LoadTesting/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.LoadTesting-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.LoadTesting_1.1.2/sdk/loadtestservice/Azure.ResourceManager.LoadTesting/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.LoadTesting_1.2.0-beta.1/sdk/loadtestservice/Azure.ResourceManager.LoadTesting/) | +| Resource Management - Log Analytics | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.OperationalInsights/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.OperationalInsights-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OperationalInsights_1.3.2/sdk/operationalinsights/Azure.ResourceManager.OperationalInsights/) | | Resource Management - Logic Apps | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Logic/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Logic-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Logic_1.2.0/sdk/logic/Azure.ResourceManager.Logic/) | -| Resource Management - Machine Learning | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.MachineLearning/1.2.3) | [docs](/dotnet/api/overview/azure/ResourceManager.MachineLearning-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MachineLearning_1.2.3/sdk/machinelearningservices/Azure.ResourceManager.MachineLearning/) | +| Resource Management - Machine Learning | NuGet [1.2.4](https://www.nuget.org/packages/Azure.ResourceManager.MachineLearning/1.2.4) | [docs](/dotnet/api/overview/azure/ResourceManager.MachineLearning-readme) | GitHub [1.2.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MachineLearning_1.2.4/sdk/machinelearningservices/Azure.ResourceManager.MachineLearning/) | | Resource Management - Machine Learning Compute | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.MachineLearningCompute/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.MachineLearningCompute-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MachineLearningCompute_1.0.0-beta.6/sdk/machinelearningcompute/Azure.ResourceManager.MachineLearningCompute/) | | Resource Management - Maintenance | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.Maintenance/1.1.3)
NuGet [1.2.0-beta.10](https://www.nuget.org/packages/Azure.ResourceManager.Maintenance/1.2.0-beta.10) | [docs](/dotnet/api/overview/azure/ResourceManager.Maintenance-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Maintenance_1.1.3/sdk/maintenance/Azure.ResourceManager.Maintenance/)
GitHub [1.2.0-beta.10](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Maintenance_1.2.0-beta.10/sdk/maintenance/Azure.ResourceManager.Maintenance/) | -| Resource Management - Managed Grafana | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Grafana/1.1.1)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Grafana/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Grafana-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Grafana_1.1.1/sdk/grafana/Azure.ResourceManager.Grafana/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Grafana_1.2.0-beta.3/sdk/grafana/Azure.ResourceManager.Grafana/) | +| Resource Management - Managed Grafana | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Grafana/1.1.1)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Grafana/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Grafana-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Grafana_1.1.1/sdk/grafana/Azure.ResourceManager.Grafana/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Grafana_1.2.0-beta.4/sdk/grafana/Azure.ResourceManager.Grafana/) | | Resource Management - Managed Network | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.ManagedNetwork/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedNetwork-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedNetwork_1.0.0-beta.6/sdk/managednetwork/Azure.ResourceManager.ManagedNetwork/) | | Resource Management - Managed Network Fabric | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.ManagedNetworkFabric/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedNetworkFabric-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedNetworkFabric_1.2.0/sdk/managednetworkfabric/Azure.ResourceManager.ManagedNetworkFabric/) | | Resource Management - Managed Service Identity | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.ManagedServiceIdentities/1.4.1)
NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ManagedServiceIdentities/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedServiceIdentities-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedServiceIdentities_1.4.1/sdk/managedserviceidentity/Azure.ResourceManager.ManagedServiceIdentities/)
GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedServiceIdentities_1.5.0-beta.1/sdk/managedserviceidentity/Azure.ResourceManager.ManagedServiceIdentities/) | @@ -353,74 +364,80 @@ | Resource Management - Migration Discovery SAP | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.MigrationDiscoverySap/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.MigrationDiscoverySap-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MigrationDiscoverySap_1.0.0-beta.3/sdk/migrationdiscoverysap/Azure.ResourceManager.MigrationDiscoverySap/) | | Resource Management - Mixed Reality | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.MixedReality/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MixedReality-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MixedReality_1.1.1/sdk/mixedreality/Azure.ResourceManager.MixedReality/) | | Resource Management - Mobile Network | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.MobileNetwork/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MobileNetwork-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MobileNetwork_1.2.0/sdk/mobilenetwork/Azure.ResourceManager.MobileNetwork/) | -| Resource Management - Mongo Cluster | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.MongoCluster/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoCluster-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoCluster_1.0.0/sdk/mongocluster/Azure.ResourceManager.MongoCluster/) | -| Resource Management - Mongodbatlas | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.MongoDBAtlas/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoDBAtlas-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoDBAtlas_1.0.1/sdk/mongodbatlas/Azure.ResourceManager.MongoDBAtlas/) | -| Resource Management - Monitor | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.3.1)
NuGet [1.4.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.4.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.3.1/sdk/monitor/Azure.ResourceManager.Monitor/)
GitHub [1.4.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.4.0-beta.4/sdk/monitor/Azure.ResourceManager.Monitor/) | -| Resource Management - Monitor.Pipelinegroups | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Monitor.PipelineGroups/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor.PipelineGroups-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor.PipelineGroups_1.0.0-beta.1/sdk/monitorpipelinegroups/Azure.ResourceManager.Monitor.PipelineGroups/) | -| Resource Management - Monitor.Slis | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Monitor.Slis/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor.Slis-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor.Slis_1.0.0-beta.2/sdk/monitor/Azure.ResourceManager.Monitor.Slis/) | -| Resource Management - MySQL | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.MySql/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MySql-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MySql_1.2.0/sdk/mysql/Azure.ResourceManager.MySql/) | +| Resource Management - Mongo Cluster | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.MongoCluster/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoCluster-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoCluster_1.1.0/sdk/mongocluster/Azure.ResourceManager.MongoCluster/) | +| Resource Management - Mongodbatlas | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.MongoDBAtlas/1.0.1)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.MongoDBAtlas/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoDBAtlas-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoDBAtlas_1.0.1/sdk/mongodbatlas/Azure.ResourceManager.MongoDBAtlas/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoDBAtlas_1.1.0-beta.1/sdk/mongodbatlas/Azure.ResourceManager.MongoDBAtlas/) | +| Resource Management - Monitor | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.3.1)
NuGet [1.4.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.4.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.3.1/sdk/monitor/Azure.ResourceManager.Monitor/)
GitHub [1.4.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.4.0-beta.5/sdk/monitor/Azure.ResourceManager.Monitor/) | +| Resource Management - Monitor.Pipelinegroups | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Monitor.PipelineGroups/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor.PipelineGroups-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor.PipelineGroups_1.0.0/sdk/monitorpipelinegroups/Azure.ResourceManager.Monitor.PipelineGroups/) | +| Resource Management - Monitor.Slis | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Monitor.Slis/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor.Slis-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor.Slis_1.0.0-beta.3/sdk/monitor/Azure.ResourceManager.Monitor.Slis/) | +| Resource Management - Monitor.Workspaces | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Monitor.Workspaces/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor.Workspaces-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor.Workspaces_1.0.0/sdk/monitor/Azure.ResourceManager.Monitor.Workspaces/) | +| Resource Management - MySQL | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.MySql/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MySql-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MySql_1.2.1/sdk/mysql/Azure.ResourceManager.MySql/) | +| Resource Management - Napsteromniagentapi | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.NapsterOmniagentApi/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NapsterOmniagentApi-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NapsterOmniagentApi_1.0.0-beta.1/sdk/napsteromniagentapi/Azure.ResourceManager.NapsterOmniagentApi/) | | Resource Management - Neon Postgres | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.NeonPostgres/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NeonPostgres-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NeonPostgres_1.0.0/sdk/neonpostgres/Azure.ResourceManager.NeonPostgres/) | -| Resource Management - NetApp Files | NuGet [1.16.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.16.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.16.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.16.0/sdk/netapp/Azure.ResourceManager.NetApp/) | -| Resource Management - Network | NuGet [1.15.0](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.15.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.15.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.15.0/sdk/network/Azure.ResourceManager.Network/) | +| Resource Management - NetApp Files | NuGet [1.17.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.17.0)
NuGet [1.18.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.18.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.17.0/sdk/netapp/Azure.ResourceManager.NetApp/)
GitHub [1.18.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.18.0-beta.1/sdk/netapp/Azure.ResourceManager.NetApp/) | +| Resource Management - Network | NuGet [1.16.1](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.16.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.16.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.16.1/sdk/network/Azure.ResourceManager.Network/) | | Resource Management - Network Analytics | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.NetworkAnalytics/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkAnalytics-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkAnalytics_1.0.1/sdk/networkanalytics/Azure.ResourceManager.NetworkAnalytics/) | -| Resource Management - Network Cloud | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkCloud-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.3.0/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/) | +| Resource Management - Network Cloud | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.3.0)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkCloud-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.3.0/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.4.0-beta.1/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/) | | Resource Management - Network Function | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkFunction/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkFunction-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkFunction_1.0.0/sdk/networkfunction/Azure.ResourceManager.NetworkFunction/) | -| Resource Management - New Relic Observability | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NewRelicObservability-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.1.1/sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.2.0-beta.1/sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/) | +| Resource Management - New Relic Observability | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.1.1)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.NewRelicObservability-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.1.1/sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.2.0-beta.2/sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/) | | Resource Management - Nginx | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Nginx/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Nginx-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Nginx_1.1.0/sdk/nginx/Azure.ResourceManager.Nginx/) | -| Resource Management - Notification Hubs | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.1.1)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.NotificationHubs-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.1.1/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.2.0-beta.3/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/) | -| Resource Management - Onlineexperimentation | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.OnlineExperimentation/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.OnlineExperimentation-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OnlineExperimentation_1.0.0-beta.2/sdk/onlineexperimentation/Azure.ResourceManager.OnlineExperimentation/) | -| Resource Management - Oracle Database | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.OracleDatabase/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.OracleDatabase-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OracleDatabase_1.2.0/sdk/oracle/Azure.ResourceManager.OracleDatabase/) | -| Resource Management - Orbital | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Orbital/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Orbital-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Orbital_1.1.2/sdk/orbital/Azure.ResourceManager.Orbital/) | -| Resource Management - Palo Alto Networks - Next Generation Firewall | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.PaloAltoNetworks.Ngfw/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PaloAltoNetworks.Ngfw-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.2.0/sdk/paloaltonetworks.ngfw/Azure.ResourceManager.PaloAltoNetworks.Ngfw/) | -| Resource Management - Peering | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.Peering/1.2.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Peering-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Peering_1.2.3/sdk/peering/Azure.ResourceManager.Peering/) | -| Resource Management - Pineconevectordb | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.PineconeVectorDB/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PineconeVectorDB-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PineconeVectorDB_1.0.0-beta.2/sdk/pineconevectordb/Azure.ResourceManager.PineconeVectorDB/) | -| Resource Management - Planetarycomputer | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.PlanetaryComputer/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PlanetaryComputer-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PlanetaryComputer_1.0.0/sdk/planetarycomputer/Azure.ResourceManager.PlanetaryComputer/) | -| Resource Management - Playwright | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Playwright/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Playwright/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Playwright-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Playwright_1.0.0/sdk/playwright/Azure.ResourceManager.Playwright/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Playwright_1.1.0-beta.1/sdk/playwright/Azure.ResourceManager.Playwright/) | +| Resource Management - Notification Hubs | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.1.1)
NuGet [1.2.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.2.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.NotificationHubs-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.1.1/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/)
GitHub [1.2.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.2.0-beta.5/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/) | +| Resource Management - Onlineexperimentation | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.OnlineExperimentation/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.OnlineExperimentation-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OnlineExperimentation_1.0.0-beta.3/sdk/onlineexperimentation/Azure.ResourceManager.OnlineExperimentation/) | +| Resource Management - Oracle Database | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.OracleDatabase/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.OracleDatabase-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OracleDatabase_1.2.1/sdk/oracle/Azure.ResourceManager.OracleDatabase/) | +| Resource Management - Orbital | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.Orbital/1.1.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Orbital-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Orbital_1.1.3/sdk/orbital/Azure.ResourceManager.Orbital/) | +| Resource Management - Palo Alto Networks - Next Generation Firewall | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.PaloAltoNetworks.Ngfw/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PaloAltoNetworks.Ngfw-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.2.1/sdk/paloaltonetworks.ngfw/Azure.ResourceManager.PaloAltoNetworks.Ngfw/) | +| Resource Management - Peering | NuGet [1.2.4](https://www.nuget.org/packages/Azure.ResourceManager.Peering/1.2.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Peering-readme) | GitHub [1.2.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Peering_1.2.4/sdk/peering/Azure.ResourceManager.Peering/) | +| Resource Management - Pineconevectordb | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.PineconeVectorDB/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.PineconeVectorDB-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PineconeVectorDB_1.0.0-beta.3/sdk/pineconevectordb/Azure.ResourceManager.PineconeVectorDB/) | +| Resource Management - Planetarycomputer | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.PlanetaryComputer/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PlanetaryComputer-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PlanetaryComputer_1.0.1/sdk/planetarycomputer/Azure.ResourceManager.PlanetaryComputer/) | +| Resource Management - Playwright | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Playwright/1.0.0)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Playwright/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Playwright-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Playwright_1.0.0/sdk/playwright/Azure.ResourceManager.Playwright/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Playwright_1.1.0-beta.2/sdk/playwright/Azure.ResourceManager.Playwright/) | | Resource Management - Playwright Testing | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.PlaywrightTesting/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PlaywrightTesting-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PlaywrightTesting_1.0.0/sdk/playwrighttesting/Azure.ResourceManager.PlaywrightTesting/) | -| Resource Management - Policy Insights | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.PolicyInsights/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PolicyInsights-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PolicyInsights_1.3.0/sdk/policyinsights/Azure.ResourceManager.PolicyInsights/) | +| Resource Management - Policy Insights | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.PolicyInsights/1.3.0)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.PolicyInsights/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PolicyInsights-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PolicyInsights_1.3.0/sdk/policyinsights/Azure.ResourceManager.PolicyInsights/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PolicyInsights_1.4.0-beta.1/sdk/policyinsights/Azure.ResourceManager.PolicyInsights/) | | Resource Management - Portalservicescopilot | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.PortalServicesCopilot/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PortalServicesCopilot-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PortalServicesCopilot_1.0.0-beta.2/sdk/portalservices/Azure.ResourceManager.PortalServicesCopilot/) | -| Resource Management - PostgreSQL | NuGet [1.4.2](https://www.nuget.org/packages/Azure.ResourceManager.PostgreSql/1.4.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PostgreSql-readme) | GitHub [1.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PostgreSql_1.4.2/sdk/postgresql/Azure.ResourceManager.PostgreSql/) | +| Resource Management - PostgreSQL | NuGet [1.4.2](https://www.nuget.org/packages/Azure.ResourceManager.PostgreSql/1.4.2)
NuGet [1.5.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.PostgreSql/1.5.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PostgreSql-readme) | GitHub [1.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PostgreSql_1.4.2/sdk/postgresql/Azure.ResourceManager.PostgreSql/)
GitHub [1.5.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PostgreSql_1.5.0-beta.2/sdk/postgresql/Azure.ResourceManager.PostgreSql/) | | Resource Management - Power BI Dedicated | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.PowerBIDedicated/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PowerBIDedicated-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PowerBIDedicated_1.0.0/sdk/powerbidedicated/Azure.ResourceManager.PowerBIDedicated/) | -| Resource Management - Private DNS | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.PrivateDns/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PrivateDns-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PrivateDns_1.2.2/sdk/privatedns/Azure.ResourceManager.PrivateDns/) | -| Resource Management - Provider Hub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.ProviderHub/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ProviderHub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ProviderHub_1.2.0/sdk/providerhub/Azure.ResourceManager.ProviderHub/) | +| Resource Management - Private DNS | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.PrivateDns/1.2.3) | [docs](/dotnet/api/overview/azure/ResourceManager.PrivateDns-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PrivateDns_1.2.3/sdk/privatedns/Azure.ResourceManager.PrivateDns/) | +| Resource Management - Programenrollment | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ProgramEnrollment/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ProgramEnrollment-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ProgramEnrollment_1.0.0-beta.1/sdk/programenrollment/Azure.ResourceManager.ProgramEnrollment/) | +| Resource Management - Provider Hub | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.ProviderHub/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ProviderHub-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ProviderHub_1.2.1/sdk/providerhub/Azure.ResourceManager.ProviderHub/) | | Resource Management - Purestorageblock | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.PureStorageBlock/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PureStorageBlock-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PureStorageBlock_1.0.1/sdk/purestorageblock/Azure.ResourceManager.PureStorageBlock/) | -| Resource Management - Purview | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Purview-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.1.0/sdk/purview/Azure.ResourceManager.Purview/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.2.0-beta.3/sdk/purview/Azure.ResourceManager.Purview/) | +| Resource Management - Purview | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.1.0)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Purview-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.1.0/sdk/purview/Azure.ResourceManager.Purview/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.2.0-beta.4/sdk/purview/Azure.ResourceManager.Purview/) | | Resource Management - Quantum | NuGet [1.0.0-beta.7](https://www.nuget.org/packages/Azure.ResourceManager.Quantum/1.0.0-beta.7) | [docs](/dotnet/api/overview/azure/ResourceManager.Quantum-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quantum_1.0.0-beta.7/sdk/quantum/Azure.ResourceManager.Quantum/) | -| Resource Management - Qumulo | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Qumulo/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Qumulo-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Qumulo_1.2.0/sdk/qumulo/Azure.ResourceManager.Qumulo/) | -| Resource Management - Quota | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Quota/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Quota-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quota_1.2.0/sdk/quota/Azure.ResourceManager.Quota/) | -| Resource Management - Recovery Services | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServices/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServices-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServices_1.2.0/sdk/recoveryservices/Azure.ResourceManager.RecoveryServices/) | +| Resource Management - Qumulo | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.Qumulo/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Qumulo-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Qumulo_1.3.0/sdk/qumulo/Azure.ResourceManager.Qumulo/) | +| Resource Management - Quota | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Quota/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Quota-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quota_1.2.1/sdk/quota/Azure.ResourceManager.Quota/) | +| Resource Management - Recovery Services | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServices/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServices-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServices_1.3.0/sdk/recoveryservices/Azure.ResourceManager.RecoveryServices/) | | Resource Management - Recovery Services Backup | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesBackup/1.3.1)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesBackup/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesBackup-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesBackup_1.3.1/sdk/recoveryservices-backup/Azure.ResourceManager.RecoveryServicesBackup/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesBackup_1.4.0-beta.1/sdk/recoveryservices-backup/Azure.ResourceManager.RecoveryServicesBackup/) | | Resource Management - Recovery Services Data Replication | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesDataReplication/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesDataReplication-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesDataReplication_1.0.1/sdk/recoveryservices-datareplication/Azure.ResourceManager.RecoveryServicesDataReplication/) | | Resource Management - Recovery Services Site Recovery | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesSiteRecovery/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesSiteRecovery-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesSiteRecovery_1.3.1/sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/) | | Resource Management - Redhatopenshift | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedHatOpenShift/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedHatOpenShift_1.0.0-beta.1/sdk/redhatopenshift/Azure.ResourceManager.RedHatOpenShift/) | -| Resource Management - Redis | NuGet [1.5.1](https://www.nuget.org/packages/Azure.ResourceManager.Redis/1.5.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Redis-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Redis_1.5.1/sdk/redis/Azure.ResourceManager.Redis/) | -| Resource Management - Redis Enterprise | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.RedisEnterprise-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterprise_1.3.0/sdk/redisenterprise/Azure.ResourceManager.RedisEnterprise/) | +| Resource Management - Redis | NuGet [1.5.1](https://www.nuget.org/packages/Azure.ResourceManager.Redis/1.5.1)
NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Redis/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Redis-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Redis_1.5.1/sdk/redis/Azure.ResourceManager.Redis/)
GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Redis_1.6.0-beta.1/sdk/redis/Azure.ResourceManager.Redis/) | +| Resource Management - Redis Enterprise | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise/1.3.0)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RedisEnterprise-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterprise_1.3.0/sdk/redisenterprise/Azure.ResourceManager.RedisEnterprise/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterprise_1.4.0-beta.1/sdk/redisenterprise/Azure.ResourceManager.RedisEnterprise/) | | Resource Management - Redis Enterprise Cache | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterpriseCache/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RedisEnterpriseCache-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterpriseCache_1.0.0-beta.1/sdk/redisenterprise/Azure.ResourceManager.RedisEnterpriseCache/) | | Resource Management - Relationships | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Relationships/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Relationships-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Relationships_1.0.0-beta.1/sdk/relationships/Azure.ResourceManager.Relationships/) | | Resource Management - Relay | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.Relay/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Relay-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Relay_1.2.2/sdk/relay/Azure.ResourceManager.Relay/) | | Resource Management - Reservations | NuGet [1.4.2](https://www.nuget.org/packages/Azure.ResourceManager.Reservations/1.4.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Reservations-readme) | GitHub [1.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Reservations_1.4.2/sdk/reservations/Azure.ResourceManager.Reservations/) | -| Resource Management - Resource Connector | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ResourceConnector/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceConnector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceConnector_1.0.0-beta.4/sdk/resourceconnector/Azure.ResourceManager.ResourceConnector/) | -| Resource Management - Resource Graph | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ResourceGraph/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceGraph-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceGraph_1.1.0/sdk/resourcegraph/Azure.ResourceManager.ResourceGraph/) | -| Resource Management - Resource Health | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.0.0)
NuGet [1.1.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.1.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceHealth-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.0.0/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/)
GitHub [1.1.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.1.0-beta.5/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/) | +| Resource Management - Resiliencemanagement | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ResilienceManagement/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ResilienceManagement-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResilienceManagement_1.0.0-beta.1/sdk/azureresiliencemanagement/Azure.ResourceManager.ResilienceManagement/) | +| Resource Management - Resource Connector | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.ResourceConnector/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceConnector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceConnector_1.0.0-beta.5/sdk/resourceconnector/Azure.ResourceManager.ResourceConnector/) | +| Resource Management - Resource Graph | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceGraph/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceGraph-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceGraph_1.1.1/sdk/resourcegraph/Azure.ResourceManager.ResourceGraph/) | +| Resource Management - Resource Health | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceHealth-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.1.0/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/) | | Resource Management - Resource Manager | NuGet [1.14.0](https://www.nuget.org/packages/Azure.ResourceManager/1.14.0) | [docs](/dotnet/api/overview/azure/ResourceManager-readme) | GitHub [1.14.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager_1.14.0/sdk/resourcemanager/Azure.ResourceManager/) | -| Resource Management - Resource Mover | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.1)
NuGet [1.1.2-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.2-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceMover-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/)
GitHub [1.1.2-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.2-beta.3/sdk/resourcemover/Azure.ResourceManager.ResourceMover/) | -| Resource Management - Resources | NuGet [1.11.2](https://www.nuget.org/packages/Azure.ResourceManager.Resources/1.11.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources-readme) | GitHub [1.11.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources_1.11.2/sdk/resources/Azure.ResourceManager.Resources/) | -| Resource Management - Resources.Deploymentstacks | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Resources.DeploymentStacks/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.DeploymentStacks-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources.DeploymentStacks_1.0.0/sdk/resources/Azure.ResourceManager.Resources.DeploymentStacks/) | +| Resource Management - Resource Mover | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.1)
NuGet [1.1.2-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.2-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceMover-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/)
GitHub [1.1.2-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.2-beta.5/sdk/resourcemover/Azure.ResourceManager.ResourceMover/) | +| Resource Management - Resources | NuGet [1.11.2](https://www.nuget.org/packages/Azure.ResourceManager.Resources/1.11.2)
NuGet [1.12.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources/1.12.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources-readme) | GitHub [1.11.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources_1.11.2/sdk/resources/Azure.ResourceManager.Resources/)
GitHub [1.12.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources_1.12.0-beta.1/sdk/resources/Azure.ResourceManager.Resources/) | +| Resource Management - Resources.Bicep | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources.Bicep/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.Bicep-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources.Bicep_1.0.0-beta.1/sdk/resources/Azure.ResourceManager.Resources.Bicep/) | +| Resource Management - Resources.Deployments | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources.Deployments/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.Deployments-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources.Deployments_1.0.0-beta.1/sdk/resources/Azure.ResourceManager.Resources.Deployments/) | +| Resource Management - Resources.Deploymentstacks | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources.DeploymentStacks/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.DeploymentStacks-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources.DeploymentStacks_1.0.1/sdk/resources/Azure.ResourceManager.Resources.DeploymentStacks/) | | Resource Management - Resources.Policy | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources.Policy/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.Policy-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources.Policy_1.0.0-beta.1/sdk/resources/Azure.ResourceManager.Resources.Policy/) | | Resource Management - ScVmm | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ScVmm/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ScVmm-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ScVmm_1.0.0/sdk/arc-scvmm/Azure.ResourceManager.ScVmm/) | | Resource Management - Secretsstoreextension | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.SecretsStoreExtension/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.SecretsStoreExtension-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecretsStoreExtension_1.0.0-beta.2/sdk/secretsstoreextension/Azure.ResourceManager.SecretsStoreExtension/) | -| Resource Management - Security | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.1.0)
NuGet [1.2.0-beta.7](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.2.0-beta.7) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityCenter-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.1.0/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/)
GitHub [1.2.0-beta.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.2.0-beta.7/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/) | +| Resource Management - Security | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.1.0)
NuGet [1.2.0-beta.8](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.2.0-beta.8) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityCenter-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.1.0/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/)
GitHub [1.2.0-beta.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.2.0-beta.8/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/) | | Resource Management - Security DevOps | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.SecurityDevOps/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityDevOps-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityDevOps_1.0.0-beta.6/sdk/securitydevops/Azure.ResourceManager.SecurityDevOps/) | -| Resource Management - Security Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.1.0/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.2.0-beta.3/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/) | -| Resource Management - Self Help | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.0.0)
NuGet [1.1.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.1.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.SelfHelp-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.0.0/sdk/selfhelp/Azure.ResourceManager.SelfHelp/)
GitHub [1.1.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.1.0-beta.6/sdk/selfhelp/Azure.ResourceManager.SelfHelp/) | -| Resource Management - Service Bus | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceBus-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceBus_1.1.0/sdk/servicebus/Azure.ResourceManager.ServiceBus/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceBus_1.2.0-beta.1/sdk/servicebus/Azure.ResourceManager.ServiceBus/) | -| Resource Management - Service Fabric | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceFabric-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.1.0/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.2.0-beta.3/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/) | +| Resource Management - Security Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.1.0)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.1.0/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.2.0-beta.4/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/) | +| Resource Management - Self Help | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.0.0)
NuGet [1.1.0-beta.8](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.1.0-beta.8) | [docs](/dotnet/api/overview/azure/ResourceManager.SelfHelp-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.0.0/sdk/selfhelp/Azure.ResourceManager.SelfHelp/)
GitHub [1.1.0-beta.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.1.0-beta.8/sdk/selfhelp/Azure.ResourceManager.SelfHelp/) | +| Resource Management - Service Bus | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceBus-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceBus_1.1.0/sdk/servicebus/Azure.ResourceManager.ServiceBus/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceBus_1.2.0-beta.2/sdk/servicebus/Azure.ResourceManager.ServiceBus/) | +| Resource Management - Service Fabric | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.1.0)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceFabric-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.1.0/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.2.0-beta.4/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/) | | Resource Management - Service Fabric Managed Clusters | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabricManagedClusters/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceFabricManagedClusters-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabricManagedClusters_1.3.0/sdk/servicefabricmanagedclusters/Azure.ResourceManager.ServiceFabricManagedClusters/) | | Resource Management - Service Linker | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.ServiceLinker/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceLinker-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceLinker_1.1.2/sdk/servicelinker/Azure.ResourceManager.ServiceLinker/) | -| Resource Management - Service Networking | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceNetworking-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.1.0/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.2.0-beta.1/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/) | +| Resource Management - Service Networking | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceNetworking-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.1.0/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.2.0-beta.3/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/) | | Resource Management - Servicegroups | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ServiceGroups/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceGroups-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceGroups_1.0.0-beta.2/sdk/servicegroups/Azure.ResourceManager.ServiceGroups/) | -| Resource Management - SignalR | NuGet [1.1.4](https://www.nuget.org/packages/Azure.ResourceManager.SignalR/1.1.4) | [docs](/dotnet/api/overview/azure/ResourceManager.SignalR-readme) | GitHub [1.1.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SignalR_1.1.4/sdk/signalr/Azure.ResourceManager.SignalR/) | -| Resource Management - Sitemanager | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.SiteManager/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.SiteManager-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SiteManager_1.0.0/sdk/sitemanager/Azure.ResourceManager.SiteManager/) | +| Resource Management - SignalR | NuGet [1.1.4](https://www.nuget.org/packages/Azure.ResourceManager.SignalR/1.1.4)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.SignalR/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.SignalR-readme) | GitHub [1.1.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SignalR_1.1.4/sdk/signalr/Azure.ResourceManager.SignalR/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SignalR_1.2.0-beta.1/sdk/signalr/Azure.ResourceManager.SignalR/) | +| Resource Management - Sitemanager | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.SiteManager/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.SiteManager-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SiteManager_1.0.1/sdk/sitemanager/Azure.ResourceManager.SiteManager/) | | Resource Management - Sphere | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.Sphere/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Sphere-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Sphere_1.0.2/sdk/sphere/Azure.ResourceManager.Sphere/) | | Resource Management - Spring App Discovery | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.SpringAppDiscovery/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.SpringAppDiscovery-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SpringAppDiscovery_1.0.0-beta.3/sdk/springappdiscovery/Azure.ResourceManager.SpringAppDiscovery/) | | Resource Management - SQL | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.Sql/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Sql-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Sql_1.4.0/sdk/sqlmanagement/Azure.ResourceManager.Sql/) | @@ -428,23 +445,23 @@ | Resource Management - Standby Pool | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.StandbyPool/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StandbyPool-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StandbyPool_1.2.0/sdk/standbypool/Azure.ResourceManager.StandbyPool/) | | Resource Management - Storage | NuGet [1.7.0](https://www.nuget.org/packages/Azure.ResourceManager.Storage/1.7.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Storage-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Storage_1.7.0/sdk/storage/Azure.ResourceManager.Storage/) | | Resource Management - Storage Actions | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageActions/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageActions-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageActions_1.0.1/sdk/storageactions/Azure.ResourceManager.StorageActions/) | -| Resource Management - Storage Cache | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.4.0)
NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageCache-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.4.0/sdk/storagecache/Azure.ResourceManager.StorageCache/)
GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.5.0-beta.1/sdk/storagecache/Azure.ResourceManager.StorageCache/) | -| Resource Management - Storage Mover | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageMover/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageMover-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageMover_1.4.0/sdk/storagemover/Azure.ResourceManager.StorageMover/) | +| Resource Management - Storage Cache | NuGet [1.5.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.5.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageCache-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.5.0/sdk/storagecache/Azure.ResourceManager.StorageCache/) | +| Resource Management - Storage Mover | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageMover/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageMover-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageMover_1.4.1/sdk/storagemover/Azure.ResourceManager.StorageMover/) | | Resource Management - Storage Pool | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.StoragePool/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.StoragePool-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StoragePool_1.1.2/sdk/storagepool/Azure.ResourceManager.StoragePool/) | -| Resource Management - Storage Sync | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageSync/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageSync-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageSync_1.3.1/sdk/storagesync/Azure.ResourceManager.StorageSync/) | -| Resource Management - Storagediscovery | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageDiscovery/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageDiscovery-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageDiscovery_1.0.0/sdk/storagediscovery/Azure.ResourceManager.StorageDiscovery/) | -| Resource Management - Stream Analytics | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StreamAnalytics-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.2.1/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.3.0-beta.1/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/) | +| Resource Management - Storage Sync | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.StorageSync/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageSync-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageSync_1.3.2/sdk/storagesync/Azure.ResourceManager.StorageSync/) | +| Resource Management - Storagediscovery | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageDiscovery/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageDiscovery-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageDiscovery_1.0.1/sdk/storagediscovery/Azure.ResourceManager.StorageDiscovery/) | +| Resource Management - Stream Analytics | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.2.1)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.StreamAnalytics-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.2.1/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.3.0-beta.2/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/) | | Resource Management - Subscriptions | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Subscription/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Subscription-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Subscription_1.1.2/sdk/subscription/Azure.ResourceManager.Subscription/) | -| Resource Management - Support | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Support-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.1.1/sdk/support/Azure.ResourceManager.Support/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.2.0-beta.1/sdk/support/Azure.ResourceManager.Support/) | +| Resource Management - Support | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.1.1)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Support-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.1.1/sdk/support/Azure.ResourceManager.Support/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.2.0-beta.2/sdk/support/Azure.ResourceManager.Support/) | | Resource Management - Synapse | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.Synapse/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Synapse-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Synapse_1.2.2/sdk/synapse/Azure.ResourceManager.Synapse/) | | Resource Management - Terraform | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Terraform/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Terraform-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Terraform_1.0.0-beta.3/sdk/terraform/Azure.ResourceManager.Terraform/) | -| Resource Management - Traffic Manager | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.TrafficManager/1.1.3)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.TrafficManager/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.TrafficManager-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrafficManager_1.1.3/sdk/trafficmanager/Azure.ResourceManager.TrafficManager/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrafficManager_1.2.0-beta.1/sdk/trafficmanager/Azure.ResourceManager.TrafficManager/) | +| Resource Management - Traffic Manager | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.TrafficManager/1.1.3)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.TrafficManager/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.TrafficManager-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrafficManager_1.1.3/sdk/trafficmanager/Azure.ResourceManager.TrafficManager/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrafficManager_1.2.0-beta.4/sdk/trafficmanager/Azure.ResourceManager.TrafficManager/) | | Resource Management - Trusted Signing | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.TrustedSigning/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.TrustedSigning-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrustedSigning_1.0.0/sdk/trustedsigning/Azure.ResourceManager.TrustedSigning/) | -| Resource Management - Virtualenclaves | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.VirtualEnclaves/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.VirtualEnclaves-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.VirtualEnclaves_1.0.0-beta.1/sdk/virtualenclaves/Azure.ResourceManager.VirtualEnclaves/) | +| Resource Management - Virtualenclaves | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.VirtualEnclaves/1.0.0-beta.2) | | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.VirtualEnclaves_1.0.0-beta.2/sdk/virtualenclaves/Azure.ResourceManager.VirtualEnclaves/) | | Resource Management - Voice Services | NuGet [1.0.3](https://www.nuget.org/packages/Azure.ResourceManager.VoiceServices/1.0.3) | [docs](/dotnet/api/overview/azure/ResourceManager.VoiceServices-readme) | GitHub [1.0.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.VoiceServices_1.0.3/sdk/voiceservices/Azure.ResourceManager.VoiceServices/) | -| Resource Management - Web PubSub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.2.0)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WebPubSub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.2.0/sdk/webpubsub/Azure.ResourceManager.WebPubSub/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.3.0-beta.1/sdk/webpubsub/Azure.ResourceManager.WebPubSub/) | +| Resource Management - Web PubSub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.2.0)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.WebPubSub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.2.0/sdk/webpubsub/Azure.ResourceManager.WebPubSub/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.3.0-beta.2/sdk/webpubsub/Azure.ResourceManager.WebPubSub/) | | Resource Management - Weightsandbiases | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WeightsAndBiases/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WeightsAndBiases-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WeightsAndBiases_1.0.0/sdk/weightsandbiases/Azure.ResourceManager.WeightsAndBiases/) | | Resource Management - Workload Monitor | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadMonitor/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadMonitor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadMonitor_1.0.0-beta.6/sdk/workloadmonitor/Azure.ResourceManager.WorkloadMonitor/) | -| Resource Management - Workloadorchestration | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadOrchestration/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadOrchestration-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadOrchestration_1.0.0/sdk/workloadorchestration/Azure.ResourceManager.WorkloadOrchestration/) | +| Resource Management - Workloadorchestration | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadOrchestration/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadOrchestration-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadOrchestration_1.0.1/sdk/workloadorchestration/Azure.ResourceManager.WorkloadOrchestration/) | | Resource Management - Workloads | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.1.2)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Workloads-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.1.2/sdk/workloads/Azure.ResourceManager.Workloads/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.2.0-beta.1/sdk/workloads/Azure.ResourceManager.Workloads/) | | Resource Management - Workloadssapvirtualinstance | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadsSapVirtualInstance/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadsSapVirtualInstance-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadsSapVirtualInstance_1.0.0/sdk/workloadssapvirtualinstance/Azure.ResourceManager.WorkloadsSapVirtualInstance/) | From be7c76625160059c80822121f52ca3bd80d7d83f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 10:35:16 -0400 Subject: [PATCH 029/120] Bump System.Security.Cryptography.Xml from 8.0.1 to 8.0.3 (#54823) --- updated-dependencies: - dependency-name: System.Security.Cryptography.Xml dependency-version: 8.0.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../HowToEncryptXMLElementAsymmetric/cs/encryptxml.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementAsymmetric/cs/encryptxml.csproj b/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementAsymmetric/cs/encryptxml.csproj index ba8fb029b6251..780cbcae40000 100644 --- a/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementAsymmetric/cs/encryptxml.csproj +++ b/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementAsymmetric/cs/encryptxml.csproj @@ -7,7 +7,7 @@ - + From 4a62595f0ed01a6e9a95af46575571df557c2912 Mon Sep 17 00:00:00 2001 From: "azure-sdk-automation[bot]" <191533747+azure-sdk-automation[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 10:35:48 -0400 Subject: [PATCH 030/120] Update package index with latest published versions (#54820) Co-authored-by: azure-sdk --- docs/azure/includes/dotnet-all.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index 7cff0ffdd483c..36bd2d1a9aa5c 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -442,13 +442,13 @@ | Resource Management - Workloadssapvirtualinstance | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadsSapVirtualInstance/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadsSapVirtualInstance-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadsSapVirtualInstance_1.0.0/sdk/workloadssapvirtualinstance/Azure.ResourceManager.WorkloadsSapVirtualInstance/) | | App Configuration Extension | NuGet [8.5.0](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.Functions.Worker/8.5.0)
NuGet [8.6.0-preview](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.Functions.Worker/8.6.0-preview) | | | | App Configuration Provider | NuGet [8.5.0](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.AspNetCore/8.5.0)
NuGet [8.6.0-preview](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.AspNetCore/8.6.0-preview) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp/3.0.0-beta.26) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/3.0.0-beta.26) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-x64/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp.linux-x64/3.0.0-beta.26) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/3.0.0-beta.26) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-x64/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp.osx-x64/3.0.0-beta.26) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-arm64/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp.win-arm64/3.0.0-beta.26) | | | -| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-x64/1.0.0)
NuGet [3.0.0-beta.26](https://www.nuget.org/packages/Azure.Mcp.win-x64/3.0.0-beta.26) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp/1.0.0)
NuGet [3.0.0-beta.27](https://www.nuget.org/packages/Azure.Mcp/3.0.0-beta.27) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/1.0.0)
NuGet [3.0.0-beta.27](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/3.0.0-beta.27) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-x64/1.0.0)
NuGet [3.0.0-beta.27](https://www.nuget.org/packages/Azure.Mcp.linux-x64/3.0.0-beta.27) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/1.0.0)
NuGet [3.0.0-beta.27](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/3.0.0-beta.27) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-x64/1.0.0)
NuGet [3.0.0-beta.27](https://www.nuget.org/packages/Azure.Mcp.osx-x64/3.0.0-beta.27) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-arm64/1.0.0)
NuGet [3.0.0-beta.27](https://www.nuget.org/packages/Azure.Mcp.win-arm64/3.0.0-beta.27) | | | +| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-x64/1.0.0)
NuGet [3.0.0-beta.27](https://www.nuget.org/packages/Azure.Mcp.win-x64/3.0.0-beta.27) | | | | Azure MCP Types Internal | NuGet [0.2.804](https://www.nuget.org/packages/Microsoft.Azure.Mcp.AzTypes.Internal.Compact/0.2.804) | | | | Azure.Communication.Administration | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Communication.Administration/1.0.0-beta.3) | | | | Caching - PostgreSQL | NuGet [1.2.2](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Postgres/1.2.2) | | | @@ -549,7 +549,7 @@ | Common | NuGet [2.2.1](https://www.nuget.org/packages/Microsoft.Azure.Common/2.2.1) | | | | Common - Dependencies | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Common.Dependencies/1.0.0) | | | | Connectors SDK | NuGet [0.13.0-preview.1](https://www.nuget.org/packages/Azure.Connectors.Sdk/0.13.0-preview.1) | | | -| Cosmos DB | NuGet [3.58.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.58.0)
NuGet [3.62.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.62.0-preview.0) | [docs](/dotnet/api/overview/azure/cosmosdb) | GitHub [3.58.0](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos) | +| Cosmos DB | NuGet [3.62.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.62.0) | [docs](/dotnet/api/overview/azure/cosmosdb) | GitHub [3.62.0](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos) | | Data Lake Analytics | NuGet [1.4.211011](https://www.nuget.org/packages/Microsoft.Azure.DataLake.USQL.SDK/1.4.211011) | | | | Data Movement | NuGet [2.0.5](https://www.nuget.org/packages/Microsoft.Azure.Storage.DataMovement/2.0.5) | | GitHub [2.0.5](https://github.com/Azure/azure-storage-net-data-movement/tree/v1.3.0) | | DCAP | NuGet [1.13.1](https://www.nuget.org/packages/Microsoft.Azure.DCAP/1.13.1) | | GitHub [1.13.1](https://github.com/microsoft/Azure-DCAP-Client/tree/1.6) | From 17a334ad1f72ca0a5f3dc6542f13de777ba5887d Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 17 Jul 2026 14:53:14 -0400 Subject: [PATCH 031/120] Link to the correct source of truth (#54819) * Link to the correct source of truth Fixes #54088 The tables incorporated had diverged from the official Windows versions. Instead of continuing to chase them, link to the Windows docs. * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../compiler-options/advanced.md | 17 +++-------------- .../command-line-compiler/subsystemversion.md | 16 ++++------------ 2 files changed, 7 insertions(+), 26 deletions(-) diff --git a/docs/csharp/language-reference/compiler-options/advanced.md b/docs/csharp/language-reference/compiler-options/advanced.md index bde6ec623bedb..53158cdb7360f 100644 --- a/docs/csharp/language-reference/compiler-options/advanced.md +++ b/docs/csharp/language-reference/compiler-options/advanced.md @@ -1,7 +1,7 @@ --- description: "Advanced C# Compiler Options. These options are used in advanced scenarios." title: "Compiler Options - advanced scenarios" -ms.date: 08/22/2025 +ms.date: 07/16/2026 f1_keywords: - "cs.build.options" helpviewer_keywords: @@ -245,20 +245,9 @@ Specifies the minimum version of the subsystem on which the executable file runs major.minor ``` -The `major.minor` specify the minimum required version of the subsystem, as expressed in a dot notation for major and minor versions. For example, you can specify that an application can't run on an operating system that's older than Windows 7. Set the value of this option to 6.01, as the table later in this article describes. You specify the values for `major` and `minor` as integers. Leading zeroes in the `minor` version don't change the version, but trailing zeroes do. For example, 6.1 and 6.01 refer to the same version, but 6.10 refers to a different version. We recommend expressing the minor version as two digits to avoid confusion. +The `major.minor` value specifies the minimum required version of the subsystem, expressed as a dot-separated major and minor version. For example, to prevent your application from running on operating systems older than Windows 7, set this option to `6.01`. Specify the values for `major` and `minor` as integers. Leading zeroes in the `minor` version don't change the version, but trailing zeroes do. For example, 6.1 and 6.01 refer to the same version, but 6.10 refers to a different version. Express the minor version as two digits to avoid confusion. -The following table lists common subsystem versions of Windows. - -|Windows version|Subsystem version| -|---------------------|-----------------------| -|Windows Server 2003|5.02| -|Windows Vista|6.00| -|Windows 7|6.01| -|Windows Server 2008|6.01| -|Windows 8|6.02| -|Windows 8.1|6.03| -|Windows 10|6.04| -|Windows 11|6.04| +For more information about Windows subsystem versions, see [Operating System Version](/windows/win32/sysinfo/operating-system-version). The default value of the **SubsystemVersion** compiler option depends on the conditions in the following list: diff --git a/docs/visual-basic/reference/command-line-compiler/subsystemversion.md b/docs/visual-basic/reference/command-line-compiler/subsystemversion.md index 2056dd061d438..ee7afa072f049 100644 --- a/docs/visual-basic/reference/command-line-compiler/subsystemversion.md +++ b/docs/visual-basic/reference/command-line-compiler/subsystemversion.md @@ -1,7 +1,7 @@ --- description: "Learn more about: -subsystemversion (Visual Basic)" title: "-subsystemversion" -ms.date: 03/13/2018 +ms.date: 07/16/2026 helpviewer_keywords: - "/subsystemversion compiler option [Visual Basic]" - "-subsystemversion compiler option [Visual Basic]" @@ -25,21 +25,13 @@ Specifies the minimum version of the subsystem on which the generated executable `major.minor` -The minimum required version of the subsystem, as expressed in a dot notation for major and minor versions. For example, you can specify that an application can't run on an operating system that's older than Windows 7 if you set the value of this option to 6.01, as the table later in this topic describes. You must specify the values for `major` and `minor` as integers. +The minimum required version of the subsystem, as expressed in a dot notation for major and minor versions. For example, to prevent your application from running on operating systems older than Windows 7, set this option to `6.01`. Specify the values for `major` and `minor` as integers. -Leading zeroes in the `minor` version don't change the version, but trailing zeroes do. For example, 6.1 and 6.01 refer to the same version, but 6.10 refers to a different version. We recommend expressing the minor version as two digits to avoid confusion. +Leading zeroes in the `minor` version don't change the version, but trailing zeroes do. For example, 6.1 and 6.01 refer to the same version, but 6.10 refers to a different version. Express the minor version as two digits to avoid confusion. ## Remarks -The following table lists common subsystem versions of Windows. - -|Windows version|Subsystem version| -|---------------------|-----------------------| -|Windows Server 2003|5.02| -|Windows Vista|6.00| -|Windows 7|6.01| -|Windows Server 2008|6.01| -|Windows 8|6.02| +For more information about Windows subsystem versions, see [Operating System Version](/windows/win32/sysinfo/operating-system-version). ## Default values From be8f6ba92ba273d2a37109787edbfc686ef2a113 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 17 Jul 2026 14:54:52 -0400 Subject: [PATCH 032/120] Use sample as extension (#54818) Fixes #54021 --- .../generics/snippets/GenericWhereConstraints.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/csharp/programming-guide/generics/snippets/GenericWhereConstraints.cs b/docs/csharp/programming-guide/generics/snippets/GenericWhereConstraints.cs index 198d070e0b2d4..e2dbc0ef7d71d 100644 --- a/docs/csharp/programming-guide/generics/snippets/GenericWhereConstraints.cs +++ b/docs/csharp/programming-guide/generics/snippets/GenericWhereConstraints.cs @@ -1,5 +1,3 @@ -using static Generics.UnmanagedExtensions; - namespace Generics { // @@ -270,7 +268,7 @@ enum Rainbow private static void TestEnumValues() { // - var map = EnumNamedValues(); + var map = Rainbow.EnumNamedValues(); foreach (var pair in map) Console.WriteLine($"{pair.Key}:\t{pair.Value}"); From d76ffbbc5be50dc27478ccb138ed40fd5ecaa2f6 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Fri, 17 Jul 2026 11:56:10 -0700 Subject: [PATCH 033/120] Fix broken .NET MAUI URL in async task-processing sample (#54826) * Initial plan * fix broken maui docs link in async sample * Apply suggestion from @BillWagner --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Bill Wagner --- .../snippets/multiple-tasks-6-0/Program.cs | 4 ++-- ...-multiple-async-tasks-and-process-them-as-they-complete.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/csharp/asynchronous-programming/snippets/multiple-tasks-6-0/Program.cs b/docs/csharp/asynchronous-programming/snippets/multiple-tasks-6-0/Program.cs index 7eccb057d9250..f620afc16ae19 100644 --- a/docs/csharp/asynchronous-programming/snippets/multiple-tasks-6-0/Program.cs +++ b/docs/csharp/asynchronous-programming/snippets/multiple-tasks-6-0/Program.cs @@ -25,7 +25,7 @@ "https://learn.microsoft.com/system-center", "https://learn.microsoft.com/visualstudio", "https://learn.microsoft.com/windows", - "https://learn.microsoft.com/maui" + "https://learn.microsoft.com/dotnet/maui" }; await SumPageSizesAsync(); @@ -71,7 +71,7 @@ static async Task ProcessUrlAsync(string url, HttpClient client) // https://learn.microsoft.com/enterprise-mobility-security 30,903 // https://learn.microsoft.com/microsoft-365 67,867 // https://learn.microsoft.com/windows 26,816 -// https://learn.microsoft.com/maui 57,958 +// https://learn.microsoft.com/dotnet/maui 57,958 // https://learn.microsoft.com/dotnet 78,706 // https://learn.microsoft.com/graph 48,277 // https://learn.microsoft.com/dynamics365 49,042 diff --git a/docs/csharp/asynchronous-programming/start-multiple-async-tasks-and-process-them-as-they-complete.md b/docs/csharp/asynchronous-programming/start-multiple-async-tasks-and-process-them-as-they-complete.md index 9ca7aa4c2f43e..b3a5a9cb9f1d0 100644 --- a/docs/csharp/asynchronous-programming/start-multiple-async-tasks-and-process-them-as-they-complete.md +++ b/docs/csharp/asynchronous-programming/start-multiple-async-tasks-and-process-them-as-they-complete.md @@ -68,7 +68,7 @@ static readonly IEnumerable s_urlList = new string[] "https://learn.microsoft.com/system-center", "https://learn.microsoft.com/visualstudio", "https://learn.microsoft.com/windows", - "https://learn.microsoft.com/maui" + "https://learn.microsoft.com/dotnet/maui" }; ``` From a11de41e220e469926bdaa6dbe2f77340326bbb9 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 17 Jul 2026 15:20:42 -0400 Subject: [PATCH 034/120] Consolidate jump-statement diagnostics (#54827) * Consolidate jump-statement diagnostics Add a new themed article, jump-statement-errors.md, covering compiler errors and warnings for the break, continue, goto, and return statements: CS0126, CS0127, CS0139, CS0153, CS0159, CS0161, CS0163, CS0469, and the new CS9393/CS9394 diagnostics for labeled break and continue (dotnet/roslyn#84271). Remove the standalone articles for the consolidated codes, add redirects to the new article, and update the compiler-messages TOC. Async/Task return diagnostics and iterator diagnostics are cross-referenced to their existing themed articles rather than duplicated here. Fixes #54654 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: eb7a86e3-8897-4a45-bb06-0f74d074118b * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Bill Wagner --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .openpublishing.redirection.csharp.json | 32 +++++ .../compiler-messages/cs0163.md | 81 ------------ .../jump-statement-errors.md | 120 ++++++++++++++++++ docs/csharp/language-reference/toc.yml | 21 +-- docs/csharp/misc/cs0126.md | 34 ----- docs/csharp/misc/cs0127.md | 42 ------ docs/csharp/misc/cs0139.md | 34 ----- docs/csharp/misc/cs0153.md | 28 ---- docs/csharp/misc/cs0159.md | 37 ------ docs/csharp/misc/cs0161.md | 39 ------ docs/csharp/misc/cs0469.md | 41 ------ 11 files changed, 157 insertions(+), 352 deletions(-) delete mode 100644 docs/csharp/language-reference/compiler-messages/cs0163.md create mode 100644 docs/csharp/language-reference/compiler-messages/jump-statement-errors.md delete mode 100644 docs/csharp/misc/cs0126.md delete mode 100644 docs/csharp/misc/cs0127.md delete mode 100644 docs/csharp/misc/cs0139.md delete mode 100644 docs/csharp/misc/cs0153.md delete mode 100644 docs/csharp/misc/cs0159.md delete mode 100644 docs/csharp/misc/cs0161.md delete mode 100644 docs/csharp/misc/cs0469.md diff --git a/.openpublishing.redirection.csharp.json b/.openpublishing.redirection.csharp.json index e9be684712504..d0aaf8322ac58 100644 --- a/.openpublishing.redirection.csharp.json +++ b/.openpublishing.redirection.csharp.json @@ -258,6 +258,10 @@ "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0116.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors#cs0116" }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0163.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/jump-statement-errors" + }, { "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs0178.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors" @@ -1812,6 +1816,14 @@ "source_path_from_root": "/docs/csharp/misc/cs0123.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/delegate-function-pointer-diagnostics" }, + { + "source_path_from_root": "/docs/csharp/misc/cs0126.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/jump-statement-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0127.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/jump-statement-errors" + }, { "source_path_from_root": "/docs/csharp/misc/cs0132.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/constructor-errors#static-constructors" @@ -1820,6 +1832,10 @@ "source_path_from_root": "/docs/csharp/misc/cs0138.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-directive-errors" }, + { + "source_path_from_root": "/docs/csharp/misc/cs0139.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/jump-statement-errors" + }, { "source_path_from_root": "/docs/csharp/misc/cs0144.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/new-object-creation-errors" @@ -1828,6 +1844,18 @@ "source_path_from_root": "/docs/csharp/misc/cs0148.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/delegate-function-pointer-diagnostics" }, + { + "source_path_from_root": "/docs/csharp/misc/cs0153.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/jump-statement-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0159.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/jump-statement-errors" + }, + { + "source_path_from_root": "/docs/csharp/misc/cs0161.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/jump-statement-errors" + }, { "source_path_from_root": "/docs/csharp/misc/cs0171.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors" @@ -2224,6 +2252,10 @@ "source_path_from_root": "/docs/csharp/misc/cs0466.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/params-arrays" }, + { + "source_path_from_root": "/docs/csharp/misc/cs0469.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/jump-statement-errors" + }, { "source_path_from_root": "/docs/csharp/misc/cs0470.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/interface-implementation-errors" diff --git a/docs/csharp/language-reference/compiler-messages/cs0163.md b/docs/csharp/language-reference/compiler-messages/cs0163.md deleted file mode 100644 index 27095b7632c95..0000000000000 --- a/docs/csharp/language-reference/compiler-messages/cs0163.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -description: "Compiler Error CS0163" -title: "Compiler Error CS0163" -ms.date: 07/20/2015 -f1_keywords: - - "CS0163" -helpviewer_keywords: - - "CS0163" -ms.assetid: 00139dcf-33cd-45ea-bf80-d6f26b10a5d2 ---- -# Compiler Error CS0163 - -Control cannot fall through from one case label ('label') to another - - When a [switch statement](../statements/selection-statements.md#the-switch-statement) contains more than one switch section, you must explicitly terminate each section, including the last one, by using one of the following keywords: - -- [return](../statements/jump-statements.md#the-return-statement) -- [goto](../statements/jump-statements.md#the-goto-statement) -- [break](../statements/jump-statements.md#the-break-statement) -- [throw](../statements/exception-handling-statements.md#the-throw-statement) - - If you want to implement "fall through" behavior from one section to the next, use `goto case #`. - - The following sample generates CS0163. - -```csharp -// CS0163.cs -public class MyClass -{ - public static void Main() - { - int i = 0; - - switch (i) // CS0163 - { - // Compiler error CS0163 is reported on the following line. - case 1: - i++; - // To resolve the error, uncomment one of the following example statements. - // return; - // break; - // goto case 3; - - case 2: - i++; - return; - - case 3: - i = 0; - break; - - default: - Console.WriteLine("Default"); - break; - } - } -} -``` - -Note that it is correct to have several `case`s for one implementation, like in the following snippet: - -```csharp -public class MyClass -{ - public static void Main() - { - int i = 0; - - switch(i) - { - case 1: - case 2: // No CS0163 - i++ - break; - - default: - break; - } - } -} -``` diff --git a/docs/csharp/language-reference/compiler-messages/jump-statement-errors.md b/docs/csharp/language-reference/compiler-messages/jump-statement-errors.md new file mode 100644 index 0000000000000..758e183cb4696 --- /dev/null +++ b/docs/csharp/language-reference/compiler-messages/jump-statement-errors.md @@ -0,0 +1,120 @@ +--- +title: "Resolve errors and warnings related to jump statements" +description: "This article helps you diagnose and correct compiler errors and warnings related to the break, continue, goto, and return jump statements." +f1_keywords: + - "CS0126" + - "CS0127" + - "CS0139" + - "CS0153" + - "CS0159" + - "CS0161" + - "CS0163" + - "CS0469" + - "CS9393" + - "CS9394" +helpviewer_keywords: + - "CS0126" + - "CS0127" + - "CS0139" + - "CS0153" + - "CS0159" + - "CS0161" + - "CS0163" + - "CS0469" + - "CS9393" + - "CS9394" +ms.date: 07/17/2026 +ai-usage: ai-assisted +--- +# Resolve errors and warnings for jump statements + +This article covers the following compiler errors and warnings: + + + +The following errors occur when you use a `break`, `continue`, `goto`, or `return` statement in a way that doesn't match the surrounding control flow: + +- [**CS0126**](#return-statement-values): *An object of a type convertible to 'type' is required* +- [**CS0127**](#return-statement-values): *Since 'method' returns void, a return keyword must not be followed by an object expression* +- [**CS0139**](#break-and-continue-targets): *No enclosing loop out of which to break or continue* +- [**CS0153**](#goto-statement-targets): *A goto case is only valid inside a switch statement* +- [**CS0159**](#goto-statement-targets): *No such label 'label' within the scope of the goto statement* +- [**CS0161**](#return-statement-values): *'method': not all code paths return a value* +- [**CS0163**](#switch-section-termination): *Control cannot fall through from one case label ('label') to another* +- [**CS9393**](#break-and-continue-targets): *No enclosing loop or switch statement with the label 'label' out of which to break* +- [**CS9394**](#break-and-continue-targets): *No enclosing loop with the label 'label' out of which to continue* + +The following warning occurs when a `goto case` statement targets a value that requires a conversion: + +- [**CS0469**](#goto-statement-targets): *The 'goto case' value is not implicitly convertible to type 'type'* + +## Break and continue targets + +- **CS0139**: *No enclosing loop out of which to break or continue* +- **CS9393**: *No enclosing loop or switch statement with the label 'label' out of which to break* +- **CS9394**: *No enclosing loop with the label 'label' out of which to continue* + +The `break` statement transfers control out of the nearest enclosing loop or `switch` statement, and the `continue` statement starts the next iteration of the nearest enclosing loop. The compiler reports these diagnostics when it can't find that target. + +To resolve these errors: + +- Place the `break` or `continue` statement inside a `while`, `do`, `for`, or `foreach` loop. A `break` statement can also appear in a `switch` section. A bare `break` or `continue` that isn't nested in one of these statements has no target (**CS0139**). +- When you write a labeled `break` (`break label;`), apply the same label to an enclosing loop or `switch` statement. The label must name a loop or `switch` that contains the `break` statement (**CS9393**). +- When you write a labeled `continue` (`continue label;`), apply the same label to an enclosing loop. A labeled `continue` can target only a loop, not a `switch` statement, because `continue` starts the next loop iteration (**CS9394**). + +For more information about these statements, see [The `break` statement](../statements/jump-statements.md#the-break-statement) and [The `continue` statement](../statements/jump-statements.md#the-continue-statement) in the jump statements article. + +## Goto statement targets + +- **CS0153**: *A goto case is only valid inside a switch statement* +- **CS0159**: *No such label 'label' within the scope of the goto statement* +- **CS0469**: *The 'goto case' value is not implicitly convertible to type 'type'* + +The `goto` statement transfers control to a labeled statement, to a `case` label, or to the `default` label of a `switch` statement. The compiler reports these diagnostics when the target label doesn't exist or isn't reachable from the `goto` statement. + +To resolve these errors: + +- Use `goto case` and `goto default` only inside a `switch` statement. Both forms name a section of the enclosing `switch` statement, so they have no meaning outside one (**CS0153**). +- Add a label that matches the name in the `goto` statement, and confirm that the label is within the scope of the `goto` statement. A `goto` statement can't jump into a nested block, and `goto case` requires a matching `case` label in the same `switch` statement (**CS0159**). +- Give the `goto case` value the same type as the `switch` governing expression, or add an explicit cast so an implicit conversion exists. For example, use `goto case (char)127;` rather than `goto case 127;` when the `switch` governs a `char` value (**CS0469**). + +For more information about the `goto` statement, see [The `goto` statement](../statements/jump-statements.md#the-goto-statement) in the jump statements article. For more information about `goto case` and `goto default`, see [The `switch` statement](../statements/selection-statements.md#the-switch-statement) in the selection statements article. + +## Switch section termination + +- **CS0163**: *Control cannot fall through from one case label ('label') to another* + +C# doesn't allow control to fall through from one `switch` section to the next. When a `switch` statement contains more than one section, you must explicitly terminate each section, including the last one. + +To resolve this error, end each `switch` section that contains statements with a jump statement, such as `break`, `return`, `goto case`, `goto default`, or `throw`. To run the same statements for more than one value, stack the `case` labels with no statements between them; that arrangement isn't fall-through. When you want one section to continue into another, use `goto case` or `goto default` to name the next section explicitly (**CS0163**). + +For more information about the `switch` statement, see [The `switch` statement](../statements/selection-statements.md#the-switch-statement) in the selection statements article. For more information about the `throw` statement, see [The `throw` statement](../statements/exception-handling-statements.md#the-throw-statement) in the exception handling statements article. + +## Return statement values + +- **CS0126**: *An object of a type convertible to 'type' is required* +- **CS0127**: *Since 'method' returns void, a return keyword must not be followed by an object expression* +- **CS0161**: *'method': not all code paths return a value* + +The `return` statement ends execution of the containing member and returns control to the caller. A `return` statement can also return a value. + +To resolve these errors: + +- Supply a value in each `return` statement of a member that has a non-`void` return type, and make sure the value is convertible to that return type. A `get` accessor and a value-returning method both require a `return` statement that includes a value (**CS0126**). +- Remove the value from any `return` statement in a member that returns `void`, such as a `set` accessor or a method with a `void` return type. Use a bare `return;` statement to exit early (**CS0127**). +- Make sure every code path in a value-returning member ends with a `return` statement or a `throw` statement. A member returns on all code paths when each branch of every conditional statement returns a value, or when a final `return` statement follows the conditional logic (**CS0161**). + +For more information about `return` statements in async methods and members that return `Task` or `ValueTask` types, see [Errors and warnings related to async and await](async-await-errors.md). For more information about `return` statements in iterators, see [Errors and warnings related to iterators](iterator-yield.md). + +For more information about the `return` statement, see [The `return` statement](../statements/jump-statements.md#the-return-statement) in the jump statements article. + +## C# language specification + +For more information, see the [Jump statements](~/_csharpstandard/standard/statements.md#1310-jump-statements) section of the C# language specification. + +## See also + +- [C# jump statements](../statements/jump-statements.md) +- [C# selection statements](../statements/selection-statements.md) diff --git a/docs/csharp/language-reference/toc.yml b/docs/csharp/language-reference/toc.yml index 1654d4c4eb8df..74bd60a580a5f 100644 --- a/docs/csharp/language-reference/toc.yml +++ b/docs/csharp/language-reference/toc.yml @@ -629,6 +629,11 @@ items: foreach, await foreach, async enumerable, GetAsyncEnumerator, IAsyncEnumerable, CS0202, CS0230, CS0278, CS0279, CS0280, CS0446, CS1579, CS1640, CS8186, CS8412, CS8413, CS8414, CS8415, CS8419, CS8420, CS8424, CS8425, CS8426, CS9353 + - name: Jump statements + href: ./compiler-messages/jump-statement-errors.md + displayName: > + break, continue, goto, return, labeled break, labeled continue, + CS0126, CS0127, CS0139, CS0153, CS0159, CS0161, CS0163, CS0469, CS9393, CS9394 - name: Extension declarations href: ./compiler-messages/extension-declarations.md displayName: > @@ -901,10 +906,6 @@ items: href: ./compiler-messages/cs0120.md - name: CS0122 href: ./compiler-messages/cs0122.md - - name: CS0126 - href: ../misc/cs0126.md - - name: CS0127 - href: ../misc/cs0127.md - name: CS0128 href: ../misc/cs0128.md - name: CS0131 @@ -917,8 +918,6 @@ items: href: ../misc/cs0135.md - name: CS0136 href: ../misc/cs0136.md - - name: CS0139 - href: ../misc/cs0139.md - name: CS0140 href: ../misc/cs0140.md - name: CS0143 @@ -935,8 +934,6 @@ items: href: ./compiler-messages/cs0151.md - name: CS0152 href: ../misc/cs0152.md - - name: CS0153 - href: ../misc/cs0153.md - name: CS0154 href: ../misc/cs0154.md - name: CS0155 @@ -947,14 +944,8 @@ items: href: ../misc/cs0157.md - name: CS0158 href: ../misc/cs0158.md - - name: CS0159 - href: ../misc/cs0159.md - name: CS0160 href: ../misc/cs0160.md - - name: CS0161 - href: ../misc/cs0161.md - - name: CS0163 - href: ./compiler-messages/cs0163.md - name: CS0165 href: ./compiler-messages/cs0165.md - name: CS0167 @@ -1773,8 +1764,6 @@ items: href: ../misc/cs0458.md - name: CS0464 href: ../misc/cs0464.md - - name: CS0469 - href: ../misc/cs0469.md - name: CS0472 href: ../misc/cs0472.md - name: CS0618 diff --git a/docs/csharp/misc/cs0126.md b/docs/csharp/misc/cs0126.md deleted file mode 100644 index 5c6df8960fc13..0000000000000 --- a/docs/csharp/misc/cs0126.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -description: "Compiler Error CS0126" -title: "Compiler Error CS0126" -ms.date: 07/20/2015 -f1_keywords: - - "CS0126" -helpviewer_keywords: - - "CS0126" -ms.assetid: 15fb0f38-ac9d-4c09-a69f-398a4903d790 ---- -# Compiler Error CS0126 - -An object of a type convertible to 'type' is required - - A return statement is present, but the statement does not return a value of the expected type. For more information, see [Properties](../programming-guide/classes-and-structs/properties.md). - - The following sample generates CS0126: - -```csharp -// CS0126.cs -public class a -{ - public int i - { - set - { - } - get - { - return; // CS0126, specify a value to return - } - } -} -``` diff --git a/docs/csharp/misc/cs0127.md b/docs/csharp/misc/cs0127.md deleted file mode 100644 index 5db291b80eb15..0000000000000 --- a/docs/csharp/misc/cs0127.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -description: "Compiler Error CS0127" -title: "Compiler Error CS0127" -ms.date: 07/20/2015 -f1_keywords: - - "CS0127" -helpviewer_keywords: - - "CS0127" -ms.assetid: b20333bf-badf-4f96-a3ee-bd35f4f7e807 ---- -# Compiler Error CS0127 - -Since 'function' returns void, a return keyword must not be followed by an object expression - - A method with a [void](../language-reference/builtin-types/void.md) return type cannot return a value. For more information, see [Methods](../programming-guide/classes-and-structs/methods.md). - - The following sample generates CS0127: - -```csharp -// CS0127.cs -namespace MyNamespace -{ - public class MyClass - { - public int hiddenMember2 - { - get - { - return 0; - } - set // CS0127, set has an implicit void return type - { - return 0; // remove return statement to resolve this CS0127 - } - } - - public static void Main() - { - } - } -} -``` diff --git a/docs/csharp/misc/cs0139.md b/docs/csharp/misc/cs0139.md deleted file mode 100644 index 21a5197a4f1a7..0000000000000 --- a/docs/csharp/misc/cs0139.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -description: "Compiler Error CS0139" -title: "Compiler Error CS0139" -ms.date: 07/20/2015 -f1_keywords: - - "CS0139" -helpviewer_keywords: - - "CS0139" -ms.assetid: 235ba3d4-566c-4ef6-801a-a338f4f2a12d ---- -# Compiler Error CS0139 - -No enclosing loop out of which to break or continue - - A break or continue statement was encountered outside of a loop. - - For more information, see the [break](../language-reference/statements/jump-statements.md#the-break-statement) and [continue](../language-reference/statements/jump-statements.md#the-continue-statement) statements. - - The following sample generates CS0139 twice: - -```csharp -// CS0139.cs -namespace x -{ - public class a - { - public static void Main() - { - continue; // CS0139 - break; // CS0139 - } - } -} -``` diff --git a/docs/csharp/misc/cs0153.md b/docs/csharp/misc/cs0153.md deleted file mode 100644 index 596b9c3704e5c..0000000000000 --- a/docs/csharp/misc/cs0153.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -description: "Compiler Error CS0153" -title: "Compiler Error CS0153" -ms.date: 07/20/2015 -f1_keywords: - - "CS0153" -helpviewer_keywords: - - "CS0153" -ms.assetid: 3a0791e9-0ab9-4eaa-a230-d39aabaa9d5d ---- -# Compiler Error CS0153 - -A goto case is only valid inside a switch statement - - An attempt was made to use the [`switch` statement](../language-reference/statements/selection-statements.md#the-switch-statement) syntax outside of a `switch` statement. - - The following sample generates CS0153: - -```csharp -// CS0153.cs -public class a -{ - public static void Main() - { - goto case 5; // CS0153 - } -} -``` diff --git a/docs/csharp/misc/cs0159.md b/docs/csharp/misc/cs0159.md deleted file mode 100644 index f5b314b01a96c..0000000000000 --- a/docs/csharp/misc/cs0159.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -description: "Compiler Error CS0159" -title: "Compiler Error CS0159" -ms.date: 07/20/2015 -f1_keywords: - - "CS0159" -helpviewer_keywords: - - "CS0159" -ms.assetid: 9fde7ffa-aed7-4a9d-8f47-ea67bc9df9e4 ---- -# Compiler Error CS0159 - -No such label 'label' within the scope of the goto statement - - The label referenced by the [goto](../language-reference/statements/jump-statements.md#the-goto-statement) statement could not be found within the scope of the `goto` statement. - - The following sample generates CS0159: - -```csharp -// CS0159.cs -public class Class1 -{ - public static void Main() - { - int i = 0; - - switch (i) - { - case 1: - goto case 3; // CS0159, case 3 label does not exist - case 2: - break; - } - goto NOWHERE; // CS0159, NOWHERE label does not exist - } -} -``` diff --git a/docs/csharp/misc/cs0161.md b/docs/csharp/misc/cs0161.md deleted file mode 100644 index fd19b0675c8b2..0000000000000 --- a/docs/csharp/misc/cs0161.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -description: "Compiler Error CS0161" -title: "Compiler Error CS0161" -ms.date: 07/20/2015 -f1_keywords: - - "CS0161" -helpviewer_keywords: - - "CS0161" -ms.assetid: c2731a6c-0285-4558-9e62-a7fd480ab0cf ---- -# Compiler Error CS0161 - -'method': not all code paths return a value - - A method that returns a value must have a `return` statement in all code paths. For more information, see [Methods](../programming-guide/classes-and-structs/methods.md). - -## Example - - The following sample generates CS0161: - -```csharp -// CS0161.cs -public class Test -{ - public static int Main() // CS0161 - { - int i = 5; - if (i < 10) - { - return i; - } - else - { - // Uncomment the following line to resolve. - // return 1; - } - } -} -``` diff --git a/docs/csharp/misc/cs0469.md b/docs/csharp/misc/cs0469.md deleted file mode 100644 index 7beb9981bc6e6..0000000000000 --- a/docs/csharp/misc/cs0469.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -description: "Compiler Warning (level 2) CS0469" -title: "Compiler Warning (level 2) CS0469" -ms.date: 07/20/2015 -f1_keywords: - - "CS0469" -helpviewer_keywords: - - "CS0469" -ms.assetid: 773925ce-a8b2-4098-9ead-b96197442848 ---- -# Compiler Warning (level 2) CS0469 - -The 'goto case' value is not implicitly convertible to type 'type' - - When you use `goto case`, there must be an implicit conversion from the value of the goto case to the type of the switch. - -## Example - - The following sample generates CS0469. - -```csharp -// CS0469.cs -// compile with: /W:2 -class Test -{ - static void Main() - { - char c = (char)180; - switch (c) - { - case (char)127: - break; - - case (char)180: - goto case 127; // CS0469 - // try the following line instead - // goto case (char) 127; - } - } -} -``` From 4fb491cfa55c31357bc569ad01c67db836c1f895 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 17 Jul 2026 16:20:46 -0400 Subject: [PATCH 035/120] Document C# 8 misc diagnostics (#54812) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Document C# 8 misc diagnostics (#54660) Consolidate the remaining C# 8 miscellaneous compiler diagnostics into themed compiler-message articles and remove them from the catch-all. New consolidated articles: - static-local-function-errors.md (CS8421) - index-range-errors.md (CS8428, CS8429) - parsing-errors.md (CS8635, CS8641) — scoped to parser/lexer-stage errors - readonly-member-errors.md (CS8656, CS8662) Added to existing articles: - attribute-usage-errors.md: CS8423 - interface-implementation-errors.md: CS8646 - nullable-warnings.md: CS8650, CS8651, CS8669 Removed all 12 codes from the sorry-we-don-t-have-specifics catch-all and added TOC entries for the new articles. Messages verified against Roslyn source. Note: the issue listed CS8556, which does not exist; the correct readonly-member warning is CS8656. Closes #54660 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5d7745fb-b209-4027-a20d-793310218421 * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Broaden three C# diagnostic articles (#54660) Follow-up to the C# 8 misc diagnostics work: expand three of the new consolidated articles to cover their full themes (conservative scope — bring in undocumented/standalone codes only; cross-reference codes that already live in other consolidated articles). - static-local-function-errors.md -> local-function-errors.md: all local-function diagnostics. Adds CS8108, CS8112, CS8321, and merges standalone CS8422 (with redirect). - index-range-errors.md -> indexer-access-errors.md: indexer and element access. Adds CS0021, CS0154, CS0271, CS0272, CS0856, CS0857, CS1545, and merges standalone CS1546 (with redirect). - readonly-member-errors.md -> readonly-struct-errors.md: readonly struct declarations and members. Adds CS8340, CS8342. Updates TOC entries and titles for the renames, removes the added codes from the catch-all, and cross-references related diagnostics that remain in their existing articles. Messages verified against Roslyn source. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5d7745fb-b209-4027-a20d-793310218421 * Address PR review feedback (#54660) - Fix "surpress" -> "suppress" typo in nullable-warnings.md. - Use sentence case for the readonly structs and members TOC entry. The ai-usage disclosure on nullable-warnings.md was already added in a prior autofix commit. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5d7745fb-b209-4027-a20d-793310218421 * Proofread * Apply suggestion from @BillWagner * Respond to feedback. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .openpublishing.redirection.csharp.json | 8 ++ .../attribute-usage-errors.md | 13 ++- .../compiler-messages/cs1546.md | 59 ------------ .../compiler-messages/cs8422.md | 78 ---------------- .../indexer-access-errors.md | 89 ++++++++++++++++++ .../interface-implementation-errors.md | 7 +- .../local-function-errors.md | 90 +++++++++++++++++++ .../compiler-messages/nullable-warnings.md | 23 ++++- .../compiler-messages/parsing-errors.md | 32 +++++++ .../readonly-struct-errors.md | 54 +++++++++++ docs/csharp/language-reference/toc.yml | 35 ++++++-- ...n-t-have-specifics-on-this-csharp-error.md | 19 ---- 12 files changed, 333 insertions(+), 174 deletions(-) delete mode 100644 docs/csharp/language-reference/compiler-messages/cs1546.md delete mode 100644 docs/csharp/language-reference/compiler-messages/cs8422.md create mode 100644 docs/csharp/language-reference/compiler-messages/indexer-access-errors.md create mode 100644 docs/csharp/language-reference/compiler-messages/local-function-errors.md create mode 100644 docs/csharp/language-reference/compiler-messages/parsing-errors.md create mode 100644 docs/csharp/language-reference/compiler-messages/readonly-struct-errors.md diff --git a/.openpublishing.redirection.csharp.json b/.openpublishing.redirection.csharp.json index d0aaf8322ac58..b3feedae1279f 100644 --- a/.openpublishing.redirection.csharp.json +++ b/.openpublishing.redirection.csharp.json @@ -442,6 +442,10 @@ "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1502.md", "redirect_url": "/dotnet/csharp/misc/cs1503" }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1546.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/indexer-access-errors" + }, { "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs1564.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/invalid-build-command-line" @@ -670,6 +674,10 @@ "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8418.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable" }, + { + "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8422.md", + "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/local-function-errors" + }, { "source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8515.md", "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/pattern-matching-warnings" diff --git a/docs/csharp/language-reference/compiler-messages/attribute-usage-errors.md b/docs/csharp/language-reference/compiler-messages/attribute-usage-errors.md index 358e6c40aff86..dd8c0d8f8adee 100644 --- a/docs/csharp/language-reference/compiler-messages/attribute-usage-errors.md +++ b/docs/csharp/language-reference/compiler-messages/attribute-usage-errors.md @@ -38,13 +38,14 @@ f1_keywords: - "CS7046" - "CS7047" - "CS7067" + - "CS8423" + - "CS8783" - "CS8959" - "CS8960" - "CS8961" - "CS8962" - "CS8963" - "CS8968" - - "CS8783" - "CS8970" - "CS9331" helpviewer_keywords: @@ -84,16 +85,17 @@ helpviewer_keywords: - "CS7046" - "CS7047" - "CS7067" + - "CS8423" + - "CS8783" - "CS8959" - "CS8960" - "CS8961" - "CS8962" - "CS8963" - "CS8968" - - "CS8783" - "CS8970" - "CS9331" -ms.date: 05/19/2026 +ms.date: 07/16/2026 ai-usage: ai-assisted --- # Resolve errors and warnings related to attribute declarations or attribute use in your code @@ -139,13 +141,14 @@ That's by design. The text closely matches the text of the compiler error / warn - [**CS7046**](#attribute-arguments-and-parameters): *Attribute parameter must be specified.* - [**CS7047**](#attribute-arguments-and-parameters): *Attribute parameter 'parameter1' or 'parameter2' must be specified.* - [**CS7067**](#attribute-arguments-and-parameters): *Attribute constructor parameter is optional, but no default parameter value was specified.* +- [**CS8423**](#attribute-location-context): *Attribute 'attribute' is not valid on event accessors. It is only valid on 'declaration' declarations.* +- [**CS8783**](#conditional-attribute-usage): *Local function 'method' must be 'static' in order to use the Conditional attribute* - [**CS8959**](#callerargumentexpression-attribute-usage): *CallerArgumentExpressionAttribute cannot be applied because there are no standard conversions from type1 to type2* - [**CS8960**](#callerargumentexpression-attribute-usage): *The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is overridden by the CallerLineNumberAttribute.* - [**CS8961**](#callerargumentexpression-attribute-usage): *The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is overridden by the CallerFilePathAttribute.* - [**CS8962**](#callerargumentexpression-attribute-usage): *The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is overridden by the CallerMemberNameAttribute.* - [**CS8963**](#callerargumentexpression-attribute-usage): *The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is applied with an invalid parameter name.* - [**CS8968**](#attribute-arguments-and-parameters): *An attribute type argument cannot use type parameters* -- [**CS8783**](#conditional-attribute-usage): *Local function 'method' must be 'static' in order to use the Conditional attribute* - [**CS8970**](#attribute-arguments-and-parameters): *Type cannot be used in this context because it cannot be represented in metadata.* - [**CS9331**](#predefined-attributes): *Attribute cannot be applied manually.* @@ -210,6 +213,7 @@ The following errors occur when you apply attributes in invalid locations or use - **CS0658**: *Location is not a recognized attribute location. Valid attribute locations for this declaration are listed. All attributes in this block will be ignored.* - **CS1667**: *Attribute is not valid on property or event accessors. It is only valid on specific declarations.* - **CS7014**: *Attributes are not valid in this context.* +- **CS8423**: *Attribute 'attribute' is not valid on event accessors. It is only valid on 'declaration' declarations.* To correct these errors, follow these rules. For more information, see [Attribute Targets](../../advanced-topics/reflection-and-attributes/index.md#attribute-targets) and the [C# language specification section on attribute specification](~/_csharpstandard/standard/attributes.md#233-attribute-specification). @@ -218,6 +222,7 @@ To correct these errors, follow these rules. For more information, see [Attribut - The attribute target specifier you used isn't a recognized specifier (**CS0658**). Valid specifiers include `assembly:`, `module:`, `type:`, `method:`, `property:`, `field:`, `event:`, `param:`, and `return:`. - Some attributes, such as and , aren't valid on property or event accessors (**CS1667**). Move the attribute from the accessor to the property or event declaration itself. - Attributes can only appear on program elements that support them (**CS7014**). If you're applying assembly-level or module-level attributes, use the `assembly:` or `module:` target specifiers and place them at the top of the file. +- Attributes on event `add` and `remove` accessors aren't allowed (**CS8423**). Apply the attribute to the event declaration, or use a valid target such as `method:` or `param:` on a declaration that supports that target. ## Predefined attributes diff --git a/docs/csharp/language-reference/compiler-messages/cs1546.md b/docs/csharp/language-reference/compiler-messages/cs1546.md deleted file mode 100644 index 7e62e41d6c1a4..0000000000000 --- a/docs/csharp/language-reference/compiler-messages/cs1546.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -description: "Compiler Error CS1546" -title: "Compiler Error CS1546" -ms.date: 07/20/2015 -f1_keywords: - - "CS1546" -helpviewer_keywords: - - "CS1546" -ms.assetid: 15fe2cdc-954f-4c67-80fd-9903c464f361 ---- -# Compiler Error CS1546 - -Property, indexer, or event 'property' is not supported by the language; try directly calling accessor method 'accessor' - - Your code is consuming an object that has a default indexed property and tried to use the indexed syntax. To resolve this error, call the property's accessor method. For more information on indexers and properties, see [Indexers](../../programming-guide/indexers/index.md). - - The following sample generates CS1546. - -## Example 1 - - This code sample consists of a .cpp file, which compiles to a .dll, and a .cs file, which uses that .dll. The following code is for the .dll file and defines a property to be accessed by the code in the .cs file. - -```cpp -// CPP1546.cpp -// compile with: /clr /LD -using namespace System; -public ref class MCPP -{ -public: - property int Prop [int,int] - { - int get( int i, int b ) - { - return i; - } - } -}; -``` - -## Example 2 - - This is the C# file. - -```csharp -// CS1546.cs -// compile with: /r:CPP1546.dll -using System; -public class Test -{ - public static void Main() - { - int i = 0; - MCPP mcpp = new MCPP(); - i = mcpp.Prop(1,1); // CS1546 - // Try the following line instead: - // i = mcpp.get_Prop(1,1); - } -} -``` diff --git a/docs/csharp/language-reference/compiler-messages/cs8422.md b/docs/csharp/language-reference/compiler-messages/cs8422.md deleted file mode 100644 index 9b2209cf5f6b6..0000000000000 --- a/docs/csharp/language-reference/compiler-messages/cs8422.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -description: "Compiler Error CS8422" -title: "Compiler Error CS8422" -ms.date: 12/17/2023 -f1_keywords: - - "CS8422" -helpviewer_keywords: - - "CS8422" ---- -# Compiler Error CS8422 - -A static local function cannot contain a reference to 'this' or 'base'. - -The [`static`](../keywords/static.md) keyword on a local function prevents the local function from accessing the state of parent instance methods or instances fields. -
This error indicates the local function accesses instance members of the containing type. - -## Example - -The following sample generates CS8422: - -```csharp -public class C -{ - private int counter = 1; - public void IncreaseCounter() - { - static void localFunc(int addition) - { - this.counter += addition; // CS8422 due to reference to 'this' - base.ToString(); // CS8422 due to reference to 'base' - - // Also for implicit 'this' or 'base' references: - counter += addition; // CS8422 due to implicit reference to 'this' - ToString(); // CS8422 due to implicit reference to 'base' - } - localFunc(10); - Console.WriteLine(this.counter); - } -} -``` - -## To correct this error - -If there is an intention of local function to capture and modify the state of a parent then it shouldn't be declared static. You could also remove access to any instance members. - -```csharp -public class C -{ - private int counter = 1; - public void IncreaseCounter() - { - void localFunc(int addition) - { - counter += addition; - ToString(); - } - localFunc(10); - Console.WriteLine(this.counter); - } -} - -public class Program -{ - public void Main() - { - C c = new(); - c.IncreaseCounter(); - } -} - -// Output: -// 11 -``` - -## See also - -- [Local functions](../../programming-guide/classes-and-structs/local-functions.md) -- [CS0120](./cs0120.md) diff --git a/docs/csharp/language-reference/compiler-messages/indexer-access-errors.md b/docs/csharp/language-reference/compiler-messages/indexer-access-errors.md new file mode 100644 index 0000000000000..40029d8b48276 --- /dev/null +++ b/docs/csharp/language-reference/compiler-messages/indexer-access-errors.md @@ -0,0 +1,89 @@ +--- +title: "Resolve errors and warnings related to indexer and element access" +description: "This article helps you diagnose and correct compiler errors and warnings related to indexer and element access" +f1_keywords: + - "CS0021" + - "CS0154" + - "CS0271" + - "CS0272" + - "CS0856" + - "CS0857" + - "CS1545" + - "CS1546" + - "CS8428" + - "CS8429" +helpviewer_keywords: + - "CS0021" + - "CS0154" + - "CS0271" + - "CS0272" + - "CS0856" + - "CS0857" + - "CS1545" + - "CS1546" + - "CS8428" + - "CS8429" +ms.date: 07/16/2026 +ai-usage: ai-assisted +--- +# Resolve errors and warnings related to indexer and element access + +This article covers the following compiler errors and warnings: + + +- [**CS0021**](#indexing-non-indexable-types): *Cannot apply indexing with [] to an expression of type 'type'* +- [**CS0154**](#accessor-availability-and-accessibility): *The property or indexer 'indexer' cannot be used in this context because it lacks the get accessor* +- [**CS0271**](#accessor-availability-and-accessibility): *The property or indexer 'indexer' cannot be used in this context because the get accessor is inaccessible* +- [**CS0272**](#accessor-availability-and-accessibility): *The property or indexer 'indexer' cannot be used in this context because the set accessor is inaccessible* +- [**CS0856**](#indexed-properties-from-com-and-interop): *Indexed property 'indexer' has non-optional arguments which must be provided* +- [**CS0857**](#indexed-properties-from-com-and-interop): *Indexed property 'indexer' must have all arguments optional* +- [**CS1545**](#indexed-properties-from-com-and-interop): *Property, indexer, or event 'member' is not supported by the language; try directly calling accessor methods 'method' or 'method'* +- [**CS1546**](#indexed-properties-from-com-and-interop): *Property, indexer, or event 'member' is not supported by the language; try directly calling accessor method 'method'* +- [**CS8428**](#implicit-index-and-range-indexers): *Invocation of implicit Index Indexer cannot name the argument.* +- [**CS8429**](#implicit-index-and-range-indexers): *Invocation of implicit Range Indexer cannot name the argument.* + +These diagnostics cover element access expressions such as `value[index]`, explicit indexers, indexed properties imported from metadata or COM interop, and the implicit `Index` and `Range` indexers used by the `^` and `..` operators. + +## Indexing non-indexable types + +- **CS0021**: *Cannot apply indexing with [] to an expression of type 'type'* + +Use `[]` only with arrays, pointer types, or types that define an applicable indexer. If the type should support element access, add an indexer declaration to the type. Otherwise, call the member that retrieves the element, or convert the value to a type that supports indexing before using `[]`. + +## Accessor availability and accessibility + +- **CS0154**: *The property or indexer 'indexer' cannot be used in this context because it lacks the get accessor* +- **CS0271**: *The property or indexer 'indexer' cannot be used in this context because the get accessor is inaccessible* +- **CS0272**: *The property or indexer 'indexer' cannot be used in this context because the set accessor is inaccessible* + +Reading an indexer requires an accessible `get` accessor. Writing an indexer requires an accessible `set` or `init` accessor. Add the missing accessor, change the accessor accessibility, or use the indexer only in contexts where the required accessor is available. + +## Indexed properties from COM and interop + +- **CS0856**: *Indexed property 'indexer' has non-optional arguments which must be provided* +- **CS0857**: *Indexed property 'indexer' must have all arguments optional* +- **CS1545**: *Property, indexer, or event 'member' is not supported by the language; try directly calling accessor methods 'method' or 'method'* +- **CS1546**: *Property, indexer, or event 'member' is not supported by the language; try directly calling accessor method 'method'* + +Some metadata patterns, especially from COM or other .NET languages, expose indexed properties that C# can't bind with ordinary property or indexer syntax. Supply all required indexed property arguments when the metadata requires them (**CS0856**). When C# requires indexed property arguments to be optional, change the imported member or wrapper so all arguments are optional (**CS0857**). + +For unsupported imported properties, indexers, or events, call the generated accessor method directly from C# source when the accessor itself is callable (**CS1545**, **CS1546**). For example, call `get_Prop(arguments)` or `set_Prop(arguments, value)` instead of using property syntax when the member can't be represented directly in C#. + +## Implicit index and range indexers + +- **CS8428**: *Invocation of implicit Index Indexer cannot name the argument.* +- **CS8429**: *Invocation of implicit Range Indexer cannot name the argument.* + +The compiler can synthesize an indexer for the [index from end (`^`) and range (`..`) operators](../operators/member-access-operators.md#index-from-end-operator-) when a type has the required `Length` or `Count` member, an `int` indexer, or a compatible `Slice` method. Calls to those implicit `Index` or `Range` indexers must use positional arguments. Remove the argument name from the invocation and pass the `Index` or `Range` value positionally (**CS8428**, **CS8429**). + +## Related diagnostics + +- For more information about array indexing and rank, see [Resolve errors and warnings related to array and collection declarations and initializations](array-declaration-errors.md) in C# compiler messages. +- For more information about argument lists, see [Errors and warnings for parameter / argument mismatches](parameter-argument-mismatch.md) in C# compiler messages. +- For more information about overload resolution for indexers and element access, see [Fix errors that involve overload resolution](overload-resolution.md) in C# compiler messages. +- For more information about read-only and init-only properties, see [Compiler Errors on property declarations](property-declaration-errors.md) in C# compiler messages. +- For more information about dynamic binding, see [Resolve errors related to dynamic binding and the dynamic type](dynamic-type-and-binding-errors.md) in C# compiler messages. +- For more information about indexer access in expression trees, see [Some expressions are prohibited in expression trees](expression-tree-restrictions.md) in C# compiler messages. +- For more information about inline array element access, see [Resolve errors related to inline arrays](inline-array-errors.md) in C# compiler messages. diff --git a/docs/csharp/language-reference/compiler-messages/interface-implementation-errors.md b/docs/csharp/language-reference/compiler-messages/interface-implementation-errors.md index 339f09307e209..9629bd14e2304 100644 --- a/docs/csharp/language-reference/compiler-messages/interface-implementation-errors.md +++ b/docs/csharp/language-reference/compiler-messages/interface-implementation-errors.md @@ -22,6 +22,7 @@ f1_keywords: - "CS0736" - "CS0737" - "CS0738" + - "CS8646" - "CS8705" - "CS8854" - "CS9333" @@ -47,11 +48,12 @@ helpviewer_keywords: - "CS0736" - "CS0737" - "CS0738" + - "CS8646" - "CS8705" - "CS8854" - "CS9333" - "CS9334" -ms.date: 11/12/2025 +ms.date: 07/16/2026 ai-usage: ai-assisted --- # Resolve errors and warnings related to members that implement an interface @@ -81,6 +83,7 @@ That's by design. The text closely matches the text of the compiler error / warn - [**CS0736**](#method-visibility-and-modifiers): *Member does not implement instance interface member. It cannot implement the interface member because it is static.* - [**CS0737**](#method-visibility-and-modifiers): *Member does not implement interface member. It cannot implement an interface member because it is not public.* - [**CS0738**](#return-types-and-signatures): *Member does not implement interface member. It cannot because it does not have the matching return type.* +- [**CS8646**](#ambiguous-and-conflicting-implementations): *'member' is explicitly implemented more than once.* - [**CS8705**](#ambiguous-and-conflicting-implementations): *Interface member does not have a most specific implementation. Neither member is most specific.* - [**CS8854**](#return-types-and-signatures): *Member does not implement interface member.* - [**CS9333**](#return-types-and-signatures): *Parameter type must match implemented member.* @@ -205,11 +208,13 @@ For more information, see [Interfaces](../../fundamentals/types/interfaces.md), The following errors occur when the compiler can't determine which interface implementation to use: - **CS0473**: *Explicit interface implementation 'method name' matches more than one interface member. Which interface member is actually chosen is implementation-dependent. Consider using a non-explicit implementation instead.* +- **CS8646**: *'member' is explicitly implemented more than once.* - **CS8705**: *Interface member 'member' does not have a most specific implementation. Neither is most specific.* You can correct these errors using the following techniques: - Eliminate the explicit interface implementation and instead use a single implicit public implementation for both interface methods (**CS0473**). When a generic method acquires the same signature as a non-generic method (such as when implementing `ITest` where both `TestMethod(int)` and `TestMethod(T)` become identical), the common language infrastructure metadata system can't unambiguously determine which interface member binds to which implementation slot, so using implicit implementation allows the single method to satisfy both interface requirements. +- Remove the duplicate explicit interface implementation for the same interface member (**CS8646**). A type can explicitly implement an interface member only once, so keep the implementation that should satisfy the interface contract and delete the duplicate declaration. - Provide an explicit implementation in the implementing class or struct that resolves the ambiguity between multiple default implementations (**CS8705**). This error typically occurs with diamond inheritance patterns where a class implements multiple interfaces that each provide default implementations for the same member. The compiler needs you to explicitly specify which implementation to use, or provide your own implementation. - Restructure the interface hierarchy to avoid diamond inheritance conflicts where multiple interfaces provide default implementations for the same member (**CS8705**). By redesigning the interface relationships or consolidating the default implementations into a single interface, you can eliminate the ambiguity that prevents the compiler from determining the most specific implementation. diff --git a/docs/csharp/language-reference/compiler-messages/local-function-errors.md b/docs/csharp/language-reference/compiler-messages/local-function-errors.md new file mode 100644 index 0000000000000..c77114e80fadb --- /dev/null +++ b/docs/csharp/language-reference/compiler-messages/local-function-errors.md @@ -0,0 +1,90 @@ +--- +title: "Resolve errors and warnings related to local functions" +description: "This article helps you diagnose and correct compiler errors and warnings related to local functions" +f1_keywords: + - "CS8108" + - "CS8112" + - "CS8321" + - "CS8421" + - "CS8422" +helpviewer_keywords: + - "CS8108" + - "CS8112" + - "CS8321" + - "CS8421" + - "CS8422" +ms.date: 07/16/2026 +ai-usage: ai-assisted +--- +# Resolve errors and warnings related to local functions + +This article covers the following compiler errors and warnings: + + +- [**CS8108**](#params-parameters-and-dynamic-arguments): *Cannot pass argument with dynamic type to params parameter 'parameter' of local function 'method'.* +- [**CS8112**](#local-function-bodies): *Local function 'method' must declare a body because it is not marked 'static extern'.* +- [**CS8321**](#unused-local-functions): *The local function 'method' is declared but never used* +- [**CS8421**](#static-local-functions-cant-capture-state): *A static local function cannot contain a reference to 'variable'.* +- [**CS8422**](#static-local-functions-cant-capture-state): *A static local function cannot contain a reference to 'this' or 'base'.* + +[Local functions](../../programming-guide/classes-and-structs/local-functions.md) were added in C# 7.0. They let you declare helper methods inside another member. The diagnostics in this article cover local function declarations, calls, usage, and the extra capture restrictions for `static` local functions. + +## Local function bodies + +- **CS8112**: *Local function 'method' must declare a body because it is not marked 'static extern'.* + +A local function declaration must include a body unless the local function is declared `static extern`. Add a block body or an expression body to the local function. If the implementation is supplied externally, mark the local function `static extern` and ensure the declaration follows the rules for external methods. + +## Params parameters and dynamic arguments + +- **CS8108**: *Cannot pass argument with dynamic type to params parameter 'parameter' of local function 'method'.* + +A local function call can't pass a `dynamic` argument to a `params` parameter. Convert the value to the element type or array type expected by the `params` parameter before the call. You can also store the values in an explicitly typed array and pass that array to the local function. + +## Unused local functions + +- **CS8321**: *The local function 'method' is declared but never used* + +The compiler reports this warning when you declare a local function but no reachable code calls it. Remove the unused local function, or call it from the enclosing member. If you intend to use the local function in a future change, keep it out of the source until it's needed. + +## Static local functions can't capture state + +- **CS8421**: *A static local function cannot contain a reference to 'variable'.* +- **CS8422**: *A static local function cannot contain a reference to 'this' or 'base'.* + +A [`static` local function](../../programming-guide/classes-and-structs/local-functions.md) can't capture state from the enclosing scope. It can't reference enclosing local variables, parameters, instance members through `this`, or `this` itself. Pass each value the local function needs as a parameter (**CS8421**, **CS8422**). If the local function must capture variables or instance state from the enclosing scope, remove the `static` modifier. + +The following example shows references that cause **CS8422**: + +```csharp +public class C +{ + private int counter = 1; + + public void IncreaseCounter() + { + static void LocalFunc(int addition) + { + this.counter += addition; // CS8422 + base.ToString(); // CS8422 + + counter += addition; // CS8422: implicit this + ToString(); // CS8422: implicit base + } + + LocalFunc(10); + } +} +``` + +To fix **CS8422**, pass the required instance data to the local function, move the helper outside the instance context, or remove `static` when the local function must access instance state. + +## Related diagnostics + +- For more information about local functions in expression trees, see [Some expressions are prohibited in expression trees](expression-tree-restrictions.md) in C# compiler messages. +- For more information about local functions with generic type parameters, see [Resolve errors and warnings related to generic type parameters and type arguments](generic-type-parameters-errors.md) in C# compiler messages. +- For more information about attributes on local functions, see [Resolve errors and warnings that involve attribute declaration and attribute use in your code](attribute-usage-errors.md) in C# compiler messages. +- For more information about captured variables in anonymous functions, see [Lambda expression errors and warnings](lambda-expression-errors.md) in C# compiler messages. +- For more information about captures in constructors and primary constructors, see [Resolve errors related to constructor declarations and module initializers](constructor-errors.md) in C# compiler messages. diff --git a/docs/csharp/language-reference/compiler-messages/nullable-warnings.md b/docs/csharp/language-reference/compiler-messages/nullable-warnings.md index 45cfcd9761ae4..82bf46458e754 100644 --- a/docs/csharp/language-reference/compiler-messages/nullable-warnings.md +++ b/docs/csharp/language-reference/compiler-messages/nullable-warnings.md @@ -41,8 +41,11 @@ f1_keywords: - "CS8643" # WRN_NullabilityMismatchInExplicitlyImplementedInterface: Nullability of reference types in explicit interface specifier doesn't match interface implemented by the type. - "CS8644" # WRN_NullabilityMismatchInInterfaceImplementedByBase: '{0}' does not implement interface member '{1}'. Nullability of reference types in interface implemented by the base type doesn't match. - "CS8645" # WRN_DuplicateInterfaceWithNullabilityMismatchInBaseList: '{0}' is already listed in the interface list on type '{1}' with different nullability of reference types. + - "CS8650" + - "CS8651" - "CS8655" # WRN_SwitchExpressionNotExhaustiveForNull: The switch expression does not handle some null inputs (it is not exhaustive). For example, the pattern '{0}' is not covered. - "CS8667" # WRN_NullabilityMismatchInConstraintsOnPartialImplementation: Partial method declarations of '{0}' have inconsistent nullability in constraints for type parameter '{1}' + - "CS8669" - "CS8670" # WRN_NullReferenceInitializer: Object or collection initializer implicitly dereferences possibly null member '{0}'. - "CS8714" # WRN_NullabilityMismatchInTypeParameterNotNullConstraint: The type '{2}' cannot be used as type parameter '{1}' in the generic type or method '{0}'. Nullability of type argument '{2}' doesn't match 'notnull' constraint. - "CS8762" # WRN_ParameterConditionallyDisallowsNull: Parameter '{0}' must have a non-null value when exiting with '{1}'. @@ -98,13 +101,16 @@ helpviewer_keywords: - "CS8634" - "CS8636" - "CS8637" - - "CS8668" - "CS8639" - "CS8643" - "CS8644" - "CS8645" + - "CS8650" + - "CS8651" - "CS8655" - "CS8667" + - "CS8668" + - "CS8669" - "CS8670" - "CS8714" - "CS8762" @@ -124,7 +130,8 @@ helpviewer_keywords: - "CS8824" - "CS8825" - "CS8847" -ms.date: 02/20/2025 +ms.date: 07/16/2026 +ai-usage: ai-assisted --- # Nullable reference type warnings @@ -173,8 +180,11 @@ This article covers the following compiler warnings: - [**CS8643**](#mismatch-in-nullability-declaration) - *Nullability of reference types in explicit interface specifier doesn't match interface implemented by the type.* - [**CS8644**](#mismatch-in-nullability-declaration) - *Type does not implement interface member. Nullability of reference types in interface implemented by the base type doesn't match.* - [**CS8645**](#mismatch-in-nullability-declaration) - *Member is already listed in the interface list on type with different nullability of reference types.* +- [**CS8650**](#incorrect-annotation-syntax) - *It is not legal to use nullable reference type 'type?' in an is-type expression; use the underlying type 'type' instead.* +- [**CS8651**](#incorrect-annotation-syntax) - *It is not legal to use nullable reference type 'type?' in an as expression; use the underlying type 'type' instead.* - [**CS8655**](#exhaustive-switch-expression) - *The switch expression does not handle some null inputs (it is not exhaustive).* - [**CS8667**](#mismatch-in-nullability-declaration) - *Partial method declarations have inconsistent nullability in constraints for type parameter.* +- [**CS8669**](#configure-nullable-context) - *The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. Auto-generated code requires an explicit '#nullable' directive in source.* - [**CS8670**](#possible-dereference-of-null) - *Object or collection initializer implicitly dereferences possibly null member.* - [**CS8714**](#mismatch-in-nullability-declaration) - *The type cannot be used as type parameter in the generic type or method. Nullability of type argument doesn't match 'notnull' constraint.* - [**CS8762**](#nonnullable-reference-not-initialized) - *Parameter must have a non-null value when exiting.* @@ -216,6 +226,7 @@ The following warnings indicate that you haven't set the nullable context correc - **CS8636** - *Invalid option for `/nullable`; must be `disable`, `enable`, `warnings` or `annotations`* - **CS8637** - *Expected `enable`, `disable`, or `restore`* - **CS8668** - *Expected `warnings`, `annotations`, or end of directive* +- **CS8669** - *The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. Auto-generated code requires an explicit '#nullable' directive in source.* To set the nullable context correctly, you have two options: @@ -235,9 +246,11 @@ To set the nullable context correctly, you have two options: The nullable context has two independent flags that control different aspects: -- **Annotation flag**: Controls whether you can use `?` to declare nullable reference types and `!` to surpress individual warnings. +- **Annotation flag**: Controls whether you can use `?` to declare nullable reference types and `!` to suppress individual warnings. - **Warning flag**: Controls whether the compiler emits nullability warnings +In generated code, add an explicit `#nullable` directive to the generated source before you use nullable annotations (**CS8669**). Project-level nullable settings might not apply to generated source files. + For detailed information about nullable contexts and migration strategies, see: - [Nullable reference types](../builtin-types/nullable-reference-types.md) @@ -251,6 +264,8 @@ These errors and warnings indicate that usage of the `!` or `?` annotation is in - **CS8623** - *Explicit application of `System.Runtime.CompilerServices.NullableAttribute` is not allowed.* - **CS8628** - *Cannot use a nullable reference type in object creation.* - **CS8639** - *The typeof operator cannot be used on a nullable reference type* +- **CS8650** - *It is not legal to use nullable reference type 'type?' in an is-type expression; use the underlying type 'type' instead.* +- **CS8651** - *It is not legal to use nullable reference type 'type?' in an as expression; use the underlying type 'type' instead.* The `?` annotation in a declaration indicates that the variable might be null. It doesn't indicate a different runtime type. Both the following declarations are the same runtime type: @@ -264,7 +279,7 @@ The `?` is a hint to the compiler on the expectation for null values. The `!` annotation on an expression indicates that you know the expression is safe and should be assumed to be not null. - You must use these annotations, not the in your code. -- Because the `?` is an annotation, not a type, you can't use it with [`typeof`](../operators/type-testing-and-cast.md#the-typeof-operator), or [`new`](../operators/new-operator.md) expressions. +- Because the `?` is an annotation, not a type, you can't use it with [`typeof`](../operators/type-testing-and-cast.md#the-typeof-operator), [`new`](../operators/new-operator.md), [`is`](../operators/type-testing-and-cast.md#the-is-operator), or [`as`](../operators/type-testing-and-cast.md#the-as-operator) expressions. Use the underlying nonnullable reference type in `is` and `as` expressions because nullable annotations have no runtime representation (**CS8650**, **CS8651**). - The `!` operator can't be applied to a variable expression or a method group. - The `!` operator can't be applied to the left of a member access operator, such as `obj.Field!.Method()`. diff --git a/docs/csharp/language-reference/compiler-messages/parsing-errors.md b/docs/csharp/language-reference/compiler-messages/parsing-errors.md new file mode 100644 index 0000000000000..c02c814c85af0 --- /dev/null +++ b/docs/csharp/language-reference/compiler-messages/parsing-errors.md @@ -0,0 +1,32 @@ +--- +title: "Resolve errors related to parsing C# code" +description: "This article helps you diagnose and correct compiler errors related to parsing C# code" +f1_keywords: + - "CS8635" + - "CS8641" +helpviewer_keywords: + - "CS8635" + - "CS8641" +ms.date: 07/16/2026 +ai-usage: ai-assisted +--- +# Resolve errors related to parsing C# code + +This article covers lexer and parser-stage diagnostics for unexpected character sequences, unexpected tokens, and malformed statement structure. It isn't a general syntax-error catalog. + +This article covers the following compiler errors: + + +- [**CS8635**](#unexpected-parser-stage-tokens-and-statements): *Unexpected character sequence '...'* +- [**CS8641**](#unexpected-parser-stage-tokens-and-statements): *'else' cannot start a statement.* + +## Unexpected parser-stage tokens and statements + +- **CS8635**: *Unexpected character sequence '...'* +- **CS8641**: *'else' cannot start a statement.* + +The lexer and parser require token sequences that form valid C# statements. Remove a stray `...` sequence (**CS8635**). If you intended a range expression, use two dots (`..`). If the dots are part of other text, put that text in a string literal or comment. + +An `else` clause must immediately follow the matching [`if` statement](../statements/selection-statements.md#the-if-statement) (**CS8641**). Restructure the code so `else` doesn't begin a statement. Add the missing `if`, remove the unmatched `else`, or move intervening statements inside the intended `if` or `else` block. diff --git a/docs/csharp/language-reference/compiler-messages/readonly-struct-errors.md b/docs/csharp/language-reference/compiler-messages/readonly-struct-errors.md new file mode 100644 index 0000000000000..8cbf00da0ee72 --- /dev/null +++ b/docs/csharp/language-reference/compiler-messages/readonly-struct-errors.md @@ -0,0 +1,54 @@ +--- +title: "Resolve errors and warnings related to readonly structs and members" +description: "This article helps you diagnose and correct compiler errors and warnings related to readonly structs and members" +f1_keywords: + - "CS8340" + - "CS8342" + - "CS8656" + - "CS8662" +helpviewer_keywords: + - "CS8340" + - "CS8342" + - "CS8656" + - "CS8662" +ms.date: 07/16/2026 +ai-usage: ai-assisted +--- +# Resolve errors and warnings related to readonly structs and members + +This article covers the following compiler errors and warnings: + + +- [**CS8340**](#readonly-struct-declaration-rules): *Instance fields of readonly structs must be readonly.* +- [**CS8342**](#readonly-struct-declaration-rules): *Field-like events are not allowed in readonly structs.* +- [**CS8656**](#readonly-struct-member-restrictions): *Call to non-readonly member 'member' from a 'readonly' member results in an implicit copy of 'type'.* +- [**CS8662**](#readonly-struct-member-restrictions): *Field-like event 'event' cannot be 'readonly'.* + +A [`readonly struct`](../builtin-types/struct.md#readonly-struct) declaration promises that instance state doesn't mutate. A [`readonly` instance member](../builtin-types/struct.md#readonly-instance-members) promises that the member doesn't mutate the current instance. The diagnostics in this article cover both declarations and member bodies. + +## Readonly struct declaration rules + +- **CS8340**: *Instance fields of readonly structs must be readonly.* +- **CS8342**: *Field-like events are not allowed in readonly structs.* + +Every instance field declared in a `readonly struct` must also be `readonly` (**CS8340**). Add the `readonly` modifier to each instance field, convert mutable fields to immutable state, or remove `readonly` from the struct declaration when instances must mutate. + +Field-like events aren't allowed in a `readonly struct` (**CS8342**) because the compiler-generated backing field is mutable. Use a manually implemented event with explicit `add` and `remove` accessors, or remove `readonly` from the struct declaration. + +## Readonly struct member restrictions + +- **CS8656**: *Call to non-readonly member 'member' from a 'readonly' member results in an implicit copy of 'type'.* +- **CS8662**: *Field-like event 'event' cannot be 'readonly'.* + +A `readonly` instance member of a struct can't mutate `this`. When a `readonly` member calls a non-`readonly` member, the compiler copies `this` before the call so the non-`readonly` member can't modify the original instance. Mark the called member `readonly` when it doesn't modify instance state, or call only members that are already `readonly` (**CS8656**). If the called member must mutate instance state, remove `readonly` from the caller. + +Field-like events can't be marked `readonly` (**CS8662**). Remove the `readonly` modifier from the event, or implement the event manually with `add` and `remove` accessors that follow the readonly rules for the containing struct. + +## Related diagnostics + +- For more information about auto-implemented properties in readonly structs, see [Compiler Errors on property declarations](property-declaration-errors.md) in C# compiler messages. That article includes **CS8341**, the third readonly struct declaration rule. +- For more information about readonly properties, indexers, and accessors, see [Compiler Errors on property declarations](property-declaration-errors.md) in C# compiler messages. +- For more information about readonly partial declarations, see [Compiler Errors on partial type and member declarations](partial-declarations.md) in C# compiler messages. +- For more information about readonly types and primary constructors, see [Resolve errors related to constructor declarations and module initializers](constructor-errors.md) in C# compiler messages. diff --git a/docs/csharp/language-reference/toc.yml b/docs/csharp/language-reference/toc.yml index 74bd60a580a5f..6d25c0e978bc3 100644 --- a/docs/csharp/language-reference/toc.yml +++ b/docs/csharp/language-reference/toc.yml @@ -484,13 +484,18 @@ items: CS1024, CS1025, CS1027, CS1028, CS1029, CS1030, CS1032, CS1038, CS1040, CS1517, CS1560, CS1576, CS1578, CS1633, CS1634, CS1635, CS1691, CS1692, CS1694, CS1695, CS1696, CS1709, CS9297, CS9298, CS9299, CS9314 + - name: Parsing C# code + href: ./compiler-messages/parsing-errors.md + displayName: > + parser, lexer, unexpected character, else statement, + CS8635, CS8641 - name: Attribute declaration and usage href: ./compiler-messages/attribute-usage-errors.md displayName: > CS0181, CS0243, CS0404, CS0415, CS0416, CS0447, CS0577, CS0578, CS0579, CS0582, CS0592, CS0609, CS0616, CS0625, CS0629, CS0636, CS0637, CS0641, CS0646, CS0647, CS0653, CS0657, CS0658, CS0668, CS0685, CS0735, CS0739, CS1608, CS1614, CS1618, - CS1667, CS1689, CS7014, CS7046, CS7047, CS7067, CS8783, CS8959, CS8960, CS8961, + CS1667, CS1689, CS7014, CS7046, CS7047, CS7067, CS8423, CS8783, CS8959, CS8960, CS8961, CS8962, CS8963, CS8968, CS8970, CS9331 - name: Feature or version missing href: ./compiler-messages/feature-version-errors.md @@ -546,6 +551,11 @@ items: CS8852, CS8853, CS8855, CS8856, CS8903, CS9029, CS9030, CS9031, CS9032, CS9033, CS9034, CS9035, CS9036, CS9037, CS9038, CS9039, CS9040, CS9042, CS9045, CS9258, CS9263, CS9264, CS9266, CS9273 + - name: Readonly structs and members + href: ./compiler-messages/readonly-struct-errors.md + displayName: > + readonly struct, readonly member, readonly event, implicit copy, + CS8340, CS8342, CS8656, CS8662 - name: Operator declarations href: ./compiler-messages/overloaded-operator-errors.md displayName: > @@ -556,6 +566,11 @@ items: CS0562, CS0563, CS0564, CS0567, CS0590, CS0594, CS0652, CS0659, CS0660, CS0661, CS0715, CS1021, CS1037, CS1553, CS8761, CS8778, CS8973, CS9023, CS9024, CS9025, CS9027, CS9308, CS9310, CS9311, CS9312, CS9313, CS9340, CS9341, CS9342 + - name: Indexer and element access + href: ./compiler-messages/indexer-access-errors.md + displayName: > + index, range, Index, Range, indexer, element access, accessor, indexed property, + CS0021, CS0154, CS0271, CS0272, CS0856, CS0857, CS1545, CS1546, CS8428, CS8429 - name: Parameter / argument mismatch href: ./compiler-messages/parameter-argument-mismatch.md displayName: > @@ -593,7 +608,7 @@ items: interface, CS0071, CS0106, CS0277, CS0425, CS0460, CS0470, CS0473, CS0531, CS0535, CS0538, CS0539, CS0540, CS0541, CS0550, CS0551, CS0630, CS0686, CS0736, CS0737, CS0738, - CS8705, CS8707, CS8711, CS8854, CS9333, CS9334 + CS8646, CS8705, CS8707, CS8711, CS8854, CS9333, CS9334 - name: Reference parameters href: ./compiler-messages/ref-modifiers-errors.md displayName: > @@ -662,9 +677,10 @@ items: CS8597, CS8598, CS8600, CS8601, CS8602, CS8604, CS8605, CS8607, CS8608, CS8609, CS8610, CS8611, CS8612, CS8613, CS8614, CS8615, CS8616, CS8617, CS8618, CS8619, CS8620, CS8621, CS8622, CS8623, CS8624, CS8625, CS8628, CS8629, CS8631, CS8632, - CS8634, CS8636, CS8637, CS8639, CS8655, CS8633, CS8643, CS8644, CS8645, CS8762, - CS8763, CS8764, CS8765, CS8766, CS8667, CS8768, CS8670, CS8714, CS8767, CS8769, - CS8770, CS8774, CS8776, CS8775, CS8777, CS8819, CS8824, CS8825, CS8847 + CS8633, CS8634, CS8636, CS8637, CS8639, CS8643, CS8644, CS8645, CS8650, CS8651, + CS8655, CS8667, CS8669, CS8670, CS8714, CS8762, CS8763, CS8764, CS8765, CS8766, + CS8767, CS8768, CS8769, CS8770, CS8774, CS8775, CS8776, CS8777, CS8819, CS8824, + CS8825, CS8847 - name: Pattern matching warnings href: ./compiler-messages/pattern-matching-warnings.md displayName: > @@ -704,6 +720,11 @@ items: CS1688, CS1706, CS1731, CS1732, CS1764, CS1911, CS1989, CS3006, CS8030, CS8175, CS8820, CS8821, CS8916, CS8917, CS8934, CS8971, CS8972, CS8974, CS8975, CS9098, CS9099, CS9100, CS9236 + - name: Local functions + href: ./compiler-messages/local-function-errors.md + displayName: > + local function, static local function, capture, enclosing scope, params, + CS8108, CS8112, CS8321, CS8421, CS8422 - name: Delegate and function pointer declarations href: ./compiler-messages/delegate-function-pointer-diagnostics.md displayName: > @@ -1330,8 +1351,6 @@ items: href: ../misc/cs1542.md - name: CS1545 href: ../misc/cs1545.md - - name: CS1546 - href: ./compiler-messages/cs1546.md - name: CS1547 href: ../misc/cs1547.md - name: CS1548 @@ -1608,8 +1627,6 @@ items: href: ./compiler-messages/cs8354.md - name: CS8355 href: ./compiler-messages/cs8355.md - - name: CS8422 - href: ./compiler-messages/cs8422.md - name: CS9043 href: ./compiler-messages/cs9043.md - name: Level 1 warning messages diff --git a/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md b/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md index 4ea353a2ab2cd..8d1261d645c06 100644 --- a/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md +++ b/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md @@ -7,8 +7,6 @@ f1_keywords: - "CS0257" - "CS0595" - "CS0847" - - "CS0856" - - "CS0857" - "CS1066" - "CS1072" - "CS1073" @@ -158,9 +156,7 @@ f1_keywords: - "CS8104" - "CS8105" - "CS8106" - - "CS8108" - "CS8111" - - "CS8112" - "CS8113" # C# 7.0 diagnostics - "CS8115" @@ -200,13 +196,10 @@ f1_keywords: - "CS8310" - "CS8312" # C# 7.2 diagnostics - - "CS8321" - "CS8323" - "CS8328" - "CS8335" - "CS8336" - - "CS8340" - - "CS8342" - "CS8346" - "CS8347" - "CS8348" @@ -225,24 +218,12 @@ f1_keywords: - "CS8384" # C# 8.0 diagnostics ## Static local functions - - "CS8421" ## Attributes - - "CS8423" ## Index and range - - "CS8428" - - "CS8429" ## Can't parse syntax - - "CS8635" - - "CS8641" ## Default interface implementation - - "CS8646" ## Patterns - - "CS8650" - - "CS8651" ## Readonly struct members - - "CS8656" - - "CS8662" - - "CS8669" # Coming in C# 15 - "CS9343" # misc - "CS9347" From 482fd87385dcb2022cf31e4b74912c8684d062e1 Mon Sep 17 00:00:00 2001 From: Azat Mukhametshin Date: Sun, 19 Jul 2026 23:17:02 +0200 Subject: [PATCH 036/120] Propagate microsoft/vstest July docs updates and fix archived links Per the propagation plan across the July 13-19 microsoft/vstest docs commits: - Exit codes: add 0/1 contract, no-tests warning behavior, and TreatNoTestsAsError to dotnet-test-vstest.md (copy). - Blame: add option->switch->runsettings mapping tables plus the MTP equivalent to dotnet-test-vstest.md (combination; links vstest for the full reference). - Filter shell escaping: add shell-quoting/PowerShell-comma guidance to selective-unit-tests.md (copy). - CLI selective: update --Platform architecture values in dotnet-vstest.md (x86/x64/ARM/ARM64/S390x/Ppc64le/RiscV64/LoongArch64). Replace both remaining archived Microsoft/vstest-docs filter.md links with microsoft/vstest (verified filter.md exists and covers TestCase filtering). Bump ms.date and add ai-usage disclosure. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c46887ab-e194-4295-9afd-01a25c405c76 --- docs/core/testing/selective-unit-tests.md | 7 +++-- docs/core/tools/dotnet-test-vstest.md | 35 ++++++++++++++++++++++- docs/core/tools/dotnet-vstest.md | 7 +++-- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/docs/core/testing/selective-unit-tests.md b/docs/core/testing/selective-unit-tests.md index 9d329713f857f..d02f4cdfae3f1 100644 --- a/docs/core/testing/selective-unit-tests.md +++ b/docs/core/testing/selective-unit-tests.md @@ -2,7 +2,8 @@ title: Run selected unit tests description: How to use a filter expression to run selected unit tests with the dotnet test command in .NET Core. author: smadala -ms.date: 10/29/2021 +ms.date: 07/19/2026 +ai-usage: ai-assisted zone_pivot_groups: unit-testing-framework-set-one ms.topic: reference --- @@ -71,6 +72,8 @@ For `FullyQualifiedName` values that include a comma for generic type parameters dotnet test --filter "FullyQualifiedName=MyNamespace.MyTestsClass.MyTestMethod" ``` +Because your shell also parses the filter expression, quote the entire `--filter` value whenever it contains characters your shell treats specially, such as `<`, `>`, or `,`. Quoting is required in PowerShell, where the comma is the array operator. + For `Name` or `DisplayName`, use the URL encoding for the special characters. For example, to run a test with the name `MyTestMethod` and a string value `"text"`, use the following filter: ```dotnetcli @@ -243,7 +246,7 @@ To run tests that have either a ``` + The following tables map the blame options to their `dotnet test` switches and `.runsettings` elements. For the complete blame collector reference, see [Blame data collector](https://github.com/microsoft/vstest/blob/main/docs/extensions/blame-datacollector.md). + + Crash dump options: + + | Behavior | `dotnet test` switch | `.runsettings` element | + | --- | --- | --- | + | Collect a crash dump | `--blame-crash` | `` | + | Collect even on a clean exit | `--blame-crash-collect-always` | `` | + | Dump type (`mini`, `full`; default `full`) | `--blame-crash-dump-type` | `` | + + Hang dump options: + + | Behavior | `dotnet test` switch | `.runsettings` element | + | --- | --- | --- | + | Collect a hang dump | `--blame-hang` | `` | + | Timeout before the hang dump (default `1h`) | `--blame-hang-timeout` | `` | + | Hang dump type (`mini`, `full`, `none`) | `--blame-hang-dump-type` | `` | + + For Microsoft.Testing.Platform (MTP) test apps, the `--blame-*` switches and the blame data collector don't apply. MTP uses `--crashdump`, `--hangdump`, and `--hangdump-timeout` from the `Microsoft.Testing.Extensions.CrashDump` and `Microsoft.Testing.Extensions.HangDump` packages. For more information, see [dotnet test with MTP](dotnet-test-mtp.md). + - [!INCLUDE [configuration](includes/cli-configuration.md)] - **`--collect `** @@ -410,6 +430,19 @@ You can enclose expressions in parenthesis when using conditional operators (for For more information and examples on how to use selective unit test filtering, see [Running selective unit tests](../testing/selective-unit-tests.md). +## Exit codes + +When you run tests through the VSTest path, `dotnet test` reports the outcome with one of two exit codes: + +| Exit code | Meaning | +| --------- | ------- | +| `0` | Success. The requested operation completed and, for a test run, all executed tests passed. | +| `1` | Failure. For example, one or more tests failed, a run error was reported, the command line was invalid, a test source couldn't be loaded, or the run was aborted or canceled. | + +The underlying `vstest.console` process never returns any other value. + +When discovery finds no matching tests, the run prints a warning rather than an error and still returns `0` by default. To make a run that discovers or selects zero tests return `1` instead, set `RunConfiguration.TreatNoTestsAsError` to `true` in a `.runsettings` file. + ## See also - [Frameworks and Targets](../../standard/frameworks.md) diff --git a/docs/core/tools/dotnet-vstest.md b/docs/core/tools/dotnet-vstest.md index 1a29ffb81e98b..9c4613a7b2f22 100644 --- a/docs/core/tools/dotnet-vstest.md +++ b/docs/core/tools/dotnet-vstest.md @@ -1,7 +1,8 @@ --- title: dotnet vstest command description: The dotnet vstest command builds a project and all of its dependencies. -ms.date: 10/28/2025 +ms.date: 07/19/2026 +ai-usage: ai-assisted --- # dotnet vstest @@ -92,7 +93,7 @@ The `dotnet vstest` command runs the `VSTest.Console` command-line application t - **`--Platform `** - Target platform architecture used for test execution. Valid values are `x86`, `x64`, and `ARM`. + Target platform architecture used for test execution. Valid values are `x86`, `x64`, `ARM`, `ARM64`, `S390x`, `Ppc64le`, `RiscV64`, and `LoongArch64`. - **`--Port `** @@ -112,7 +113,7 @@ The `dotnet vstest` command runs the `VSTest.Console` command-line application t - **`--TestCaseFilter `** - Run tests that match the given expression. `` is of the format `Operator[|&]`, where Operator is one of `=`, `!=`, or `~`. Operator `~` has 'contains' semantics and is applicable for string properties like `DisplayName`. Parentheses `()` are used to group subexpressions. For more information, see [TestCase filter](https://github.com/Microsoft/vstest-docs/blob/main/docs/filter.md). + Run tests that match the given expression. `` is of the format `Operator[|&]`, where Operator is one of `=`, `!=`, or `~`. Operator `~` has 'contains' semantics and is applicable for string properties like `DisplayName`. Parentheses `()` are used to group subexpressions. For more information, see [TestCase filter](https://github.com/microsoft/vstest/blob/main/docs/filter.md). - **`--Tests `** From f7355c17a9b38d2e46a5b6997ae7f08fa070f803 Mon Sep 17 00:00:00 2001 From: Azat Mukhametshin Date: Sun, 19 Jul 2026 23:35:00 +0200 Subject: [PATCH 037/120] Align dotnet vstest options with vstest.console reference - Add the missing user-facing options --Collect and -e|--Environment (both are forwarded to vstest.console and documented in vstest's main CLI reference). - Remove --Port and --ParentProcessId, which vstest classifies as editor/IDE (design-mode) integration options not intended for direct shell use. - Fix Synopsis formatting for --Platform and --ResultsDirectory, and note that options are forwarded to vstest.console with a link to the full commandline.md reference. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c46887ab-e194-4295-9afd-01a25c405c76 --- docs/core/tools/dotnet-vstest.md | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/docs/core/tools/dotnet-vstest.md b/docs/core/tools/dotnet-vstest.md index 9c4613a7b2f22..c6b8585a2f9c6 100644 --- a/docs/core/tools/dotnet-vstest.md +++ b/docs/core/tools/dotnet-vstest.md @@ -18,20 +18,20 @@ ai-usage: ai-assisted ## Synopsis ```dotnetcli -dotnet vstest [] [--Blame] [--Diag ] +dotnet vstest [] [--Blame] [--Collect ] + [--Diag ] [-e|--Environment =""] [--Framework ] [--InIsolation] [-lt|--ListTests ] [--logger ] [--Parallel] - [--ParentProcessId ] [--Platform] - [--Port ] [--ResultsDirectory] [--Settings ] - [--TestAdapterPath ] [--TestCaseFilter ] - [--Tests ] [[--] ...] + [--Platform ] [--ResultsDirectory ] + [--Settings ] [--TestAdapterPath ] + [--TestCaseFilter ] [--Tests ] [[--] ...] dotnet vstest -?|--Help ``` ## Description -The `dotnet vstest` command runs the `VSTest.Console` command-line application to run automated unit tests. +The `dotnet vstest` command runs the `VSTest.Console` command-line application to run automated unit tests. The options in this article are forwarded to `vstest.console`. For the complete list of command-line options, see [vstest.console.exe command line options](https://github.com/microsoft/vstest/blob/main/docs/commandline.md). ## Arguments @@ -45,10 +45,18 @@ The `dotnet vstest` command runs the `VSTest.Console` command-line application t Runs the tests in blame mode. This option is helpful in isolating the problematic tests causing test host to crash. It creates an output file in the current directory as *Sequence.xml* that captures the order of tests execution before the crash. +- **`--Collect `** + + Enables a data collector for the test run. For example, `--Collect "Code Coverage"` collects code coverage with the built-in Visual Studio collector, and `--Collect "XPlat Code Coverage"` uses the cross-platform Coverlet collector. For more information, see [Monitor and analyze test run](https://aka.ms/vstest-collect). + - **`--Diag `** Enables verbose logs for the test platform. Logs are written to the provided file. +- **`-e|--Environment =""`** + + Sets the value of an environment variable for the test host process. Creates the variable if it doesn't exist, overrides it if it does. Using this option forces the tests to run in an isolated process. Specify the option multiple times to set multiple variables. + - **`--Framework `** Target .NET Framework version used for test execution. An example of a valid value is `.NETFramework,Version=v7.0`. Other supported values are `Framework40`, `Framework45`, `FrameworkCore10`, and `FrameworkUap10`. @@ -87,18 +95,10 @@ The `dotnet vstest` command runs the `VSTest.Console` command-line application t Run tests in parallel. By default, all available cores on the machine are available for use. Specify an explicit number of cores by setting the `MaxCpuCount` property under the `RunConfiguration` node in the *runsettings* file. -- **`--ParentProcessId `** - - Process ID of the parent process responsible for launching the current process. - - **`--Platform `** Target platform architecture used for test execution. Valid values are `x86`, `x64`, `ARM`, `ARM64`, `S390x`, `Ppc64le`, `RiscV64`, and `LoongArch64`. -- **`--Port `** - - Specifies the port for the socket connection and receiving the event messages. - - **`--ResultsDirectory:`** Test results directory will be created in specified path if not exists. @@ -166,3 +166,4 @@ dotnet vstest /Tests:TestMethod1,TestMethod2 ## See also - [VSTest.Console.exe command-line options](/visualstudio/test/vstest-console-options) +- [vstest.console.exe command line options (microsoft/vstest)](https://github.com/microsoft/vstest/blob/main/docs/commandline.md) From 8823d417fbe9e747fb185840c62c84ede1421b74 Mon Sep 17 00:00:00 2001 From: Azat Mukhametshin Date: Sun, 19 Jul 2026 23:43:05 +0200 Subject: [PATCH 038/120] Clarify the two vstest.console option references in See also Annotate the Learn and microsoft/vstest command-line option links so a reader can tell which to use: Learn for stable curated docs, the vstest repo for the most current/source-derived details. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c46887ab-e194-4295-9afd-01a25c405c76 --- docs/core/tools/dotnet-vstest.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/core/tools/dotnet-vstest.md b/docs/core/tools/dotnet-vstest.md index c6b8585a2f9c6..356b1b9039630 100644 --- a/docs/core/tools/dotnet-vstest.md +++ b/docs/core/tools/dotnet-vstest.md @@ -165,5 +165,5 @@ dotnet vstest /Tests:TestMethod1,TestMethod2 ## See also -- [VSTest.Console.exe command-line options](/visualstudio/test/vstest-console-options) -- [vstest.console.exe command line options (microsoft/vstest)](https://github.com/microsoft/vstest/blob/main/docs/commandline.md) +- [VSTest.Console.exe command-line options](/visualstudio/test/vstest-console-options) - the official Microsoft Learn reference for the `VSTest.Console.exe` tool, including options that `dotnet vstest` doesn't expose. Start here for stable, curated documentation. +- [vstest.console.exe command line options (microsoft/vstest)](https://github.com/microsoft/vstest/blob/main/docs/commandline.md) - the source-derived reference in the `microsoft/vstest` repo. Use it for the most up-to-date option details and internal switches, plus links to related runsettings, filtering, and diagnostics docs. From 039f23606937edf4fb35d060254bbbff46e24f62 Mon Sep 17 00:00:00 2001 From: Azat Mukhametshin Date: Sun, 19 Jul 2026 23:53:37 +0200 Subject: [PATCH 039/120] Add VSTest environment variables link to See also in both articles Link microsoft/vstest docs/environment-variables.md from the See also section of dotnet-test-vstest.md and dotnet-vstest.md so readers can find the full VSTest env-var reference (including the VSTEST_DOTNET_ROOT_* variables the SDK sets when launching vstest.console). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c46887ab-e194-4295-9afd-01a25c405c76 --- docs/core/tools/dotnet-test-vstest.md | 1 + docs/core/tools/dotnet-vstest.md | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/core/tools/dotnet-test-vstest.md b/docs/core/tools/dotnet-test-vstest.md index acfe2853a7d54..390282d12fe27 100644 --- a/docs/core/tools/dotnet-test-vstest.md +++ b/docs/core/tools/dotnet-test-vstest.md @@ -448,5 +448,6 @@ When discovery finds no matching tests, the run prints a warning rather than an - [Frameworks and Targets](../../standard/frameworks.md) - [.NET Runtime Identifier (RID) catalog](../rid-catalog.md) - [Passing runsettings arguments through commandline](https://github.com/microsoft/vstest/blob/main/docs/RunSettingsArguments.md) +- [VSTest environment variables (microsoft/vstest)](https://github.com/microsoft/vstest/blob/main/docs/environment-variables.md) - [dotnet test](dotnet-test.md) - [dotnet test with MTP](dotnet-test-mtp.md) diff --git a/docs/core/tools/dotnet-vstest.md b/docs/core/tools/dotnet-vstest.md index 356b1b9039630..3122d9e3200b9 100644 --- a/docs/core/tools/dotnet-vstest.md +++ b/docs/core/tools/dotnet-vstest.md @@ -167,3 +167,4 @@ dotnet vstest /Tests:TestMethod1,TestMethod2 - [VSTest.Console.exe command-line options](/visualstudio/test/vstest-console-options) - the official Microsoft Learn reference for the `VSTest.Console.exe` tool, including options that `dotnet vstest` doesn't expose. Start here for stable, curated documentation. - [vstest.console.exe command line options (microsoft/vstest)](https://github.com/microsoft/vstest/blob/main/docs/commandline.md) - the source-derived reference in the `microsoft/vstest` repo. Use it for the most up-to-date option details and internal switches, plus links to related runsettings, filtering, and diagnostics docs. +- [VSTest environment variables (microsoft/vstest)](https://github.com/microsoft/vstest/blob/main/docs/environment-variables.md) - environment variables that VSTest and the test host recognize, such as `VSTEST_DUMP_FORCEPROCDUMP` and the `VSTEST_DOTNET_ROOT_*` variables the .NET SDK sets when it launches `vstest.console`. From 6c85f8aa2721ae5eac9520b4693700570adc1c58 Mon Sep 17 00:00:00 2001 From: Azat Mukhametshin Date: Mon, 20 Jul 2026 00:06:38 +0200 Subject: [PATCH 040/120] Address automated review feedback on VSTest docs dotnet-vstest.md: use the standard NAME/VALUE placeholder form for --Environment; align --ResultsDirectory to the space form used by the synopsis and other options. dotnet-test-vstest.md: reword to 'The .runsettings file'; lowercase the blame example dump-type values to match the mapping tables and switch values; 'Enables a data collector'; use the space-form --diag in the tracelevel example. selective-unit-tests.md: capitalize NUnit. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c46887ab-e194-4295-9afd-01a25c405c76 --- docs/core/testing/selective-unit-tests.md | 2 +- docs/core/tools/dotnet-test-vstest.md | 10 +++++----- docs/core/tools/dotnet-vstest.md | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/core/testing/selective-unit-tests.md b/docs/core/testing/selective-unit-tests.md index d02f4cdfae3f1..8f6dd5633b163 100644 --- a/docs/core/testing/selective-unit-tests.md +++ b/docs/core/testing/selective-unit-tests.md @@ -32,7 +32,7 @@ dotnet test --filter | -------------- | -------------------- | | MSTest | `FullyQualifiedName`
`Name`
`ClassName`
`Priority`
`TestCategory` | | xUnit | `FullyQualifiedName`
`DisplayName`
`Traits` | - | Nunit | `FullyQualifiedName`
`Name`
`Priority`
`TestCategory`
`Category`
`Property` | + | NUnit | `FullyQualifiedName`
`Name`
`Priority`
`TestCategory`
`Category`
`Property` | * **Operators** diff --git a/docs/core/tools/dotnet-test-vstest.md b/docs/core/tools/dotnet-test-vstest.md index 390282d12fe27..faa827206adbe 100644 --- a/docs/core/tools/dotnet-test-vstest.md +++ b/docs/core/tools/dotnet-test-vstest.md @@ -148,7 +148,7 @@ Where `Microsoft.NET.Test.Sdk` is the test host, `xunit` is the test framework. When no unit is used (for example, 5400000), the value is assumed to be in milliseconds. When used together with data driven tests, the timeout behavior depends on the test adapter used. For xUnit, NUnit, and MSTest 2.2.4+, the timeout is renewed after every test case. For MSTest before version 2.2.4, the timeout is used for all test cases. This option is supported on Windows with `netcoreapp2.1` and later, on Linux with `netcoreapp3.1` and later, and on macOS with `net5.0` or later. Implies `--blame` and `--blame-hang`. - You can also configure blame in a `.runsettings` file and pass it with `--settings`. Runsettings configuration supports the same blame behavior and additional keys that aren't exposed as top-level `dotnet test` switches, such as `CollectDumpOnTestSessionHang` and `MonitorPostmortemDebugger`. For more information, see [Blame data collector](https://github.com/microsoft/vstest/blob/main/docs/extensions/blame-datacollector.md). + You can also configure blame in a `.runsettings` file and pass it with `--settings`. The `.runsettings` file supports the same blame behavior and additional keys that aren't exposed as top-level `dotnet test` switches, such as `CollectDumpOnTestSessionHang` and `MonitorPostmortemDebugger`. For more information, see [Blame data collector](https://github.com/microsoft/vstest/blob/main/docs/extensions/blame-datacollector.md). ```xml @@ -156,8 +156,8 @@ Where `Microsoft.NET.Test.Sdk` is the test host, `xunit` is the test framework. - - + + @@ -190,7 +190,7 @@ Where `Microsoft.NET.Test.Sdk` is the test host, `xunit` is the test framework. - **`--collect `** - Enables data collector for the test run. For more information, including the Event Log data collector and guidance for authoring your own data collector, see [Monitor and analyze test run](https://aka.ms/vstest-collect). + Enables a data collector for the test run. For more information, including the Event Log data collector and guidance for authoring your own data collector, see [Monitor and analyze test run](https://aka.ms/vstest-collect). For example you can collect code coverage by using the `--collect "Code Coverage"` option. For more information, see [Use code coverage](/visualstudio/test/using-code-coverage-to-determine-how-much-code-is-being-tested), [Customize code coverage analysis](/visualstudio/test/customizing-code-coverage-analysis), and [GitHub issue dotnet/docs#34479](https://github.com/dotnet/docs/issues/34479). @@ -200,7 +200,7 @@ Where `Microsoft.NET.Test.Sdk` is the test host, `xunit` is the test framework. Enables diagnostic mode for the test platform and writes diagnostic messages to the specified file and to files next to it. The process that is logging the messages determines which files are created, such as `*.host_.txt` for test host log, and `*.datacollector_.txt` for data collector log. - To set the trace level, append `;tracelevel=` to the log file name, for example `--diag:log.txt;tracelevel=verbose`. The allowed values for `tracelevel` are `off`, `error`, `warning`, `info`, and `verbose`. The default value is `verbose`. + To set the trace level, append `;tracelevel=` to the log file name, for example `--diag log.txt;tracelevel=verbose`. The allowed values for `tracelevel` are `off`, `error`, `warning`, `info`, and `verbose`. The default value is `verbose`. - [!INCLUDE [disable-build-servers](includes/cli-disable-build-servers.md)] diff --git a/docs/core/tools/dotnet-vstest.md b/docs/core/tools/dotnet-vstest.md index 3122d9e3200b9..a9b1ec04f04f5 100644 --- a/docs/core/tools/dotnet-vstest.md +++ b/docs/core/tools/dotnet-vstest.md @@ -19,7 +19,7 @@ ai-usage: ai-assisted ```dotnetcli dotnet vstest [] [--Blame] [--Collect ] - [--Diag ] [-e|--Environment =""] + [--Diag ] [-e|--Environment ] [--Framework ] [--InIsolation] [-lt|--ListTests ] [--logger ] [--Parallel] [--Platform ] [--ResultsDirectory ] @@ -53,7 +53,7 @@ The `dotnet vstest` command runs the `VSTest.Console` command-line application t Enables verbose logs for the test platform. Logs are written to the provided file. -- **`-e|--Environment =""`** +- **`-e|--Environment `** Sets the value of an environment variable for the test host process. Creates the variable if it doesn't exist, overrides it if it does. Using this option forces the tests to run in an isolated process. Specify the option multiple times to set multiple variables. @@ -99,7 +99,7 @@ The `dotnet vstest` command runs the `VSTest.Console` command-line application t Target platform architecture used for test execution. Valid values are `x86`, `x64`, `ARM`, `ARM64`, `S390x`, `Ppc64le`, `RiscV64`, and `LoongArch64`. -- **`--ResultsDirectory:`** +- **`--ResultsDirectory `** Test results directory will be created in specified path if not exists. From cfedc3785fe794a212b327f06ea9b0849a15f534 Mon Sep 17 00:00:00 2001 From: "azure-sdk-automation[bot]" <191533747+azure-sdk-automation[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 11:14:35 -0400 Subject: [PATCH 041/120] Update package index with latest published versions (#54829) Co-authored-by: azure-sdk --- docs/azure/includes/dotnet-all.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index 36bd2d1a9aa5c..ae4926a9eec8c 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -549,7 +549,7 @@ | Common | NuGet [2.2.1](https://www.nuget.org/packages/Microsoft.Azure.Common/2.2.1) | | | | Common - Dependencies | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Common.Dependencies/1.0.0) | | | | Connectors SDK | NuGet [0.13.0-preview.1](https://www.nuget.org/packages/Azure.Connectors.Sdk/0.13.0-preview.1) | | | -| Cosmos DB | NuGet [3.62.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.62.0) | [docs](/dotnet/api/overview/azure/cosmosdb) | GitHub [3.62.0](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos) | +| Cosmos DB | NuGet [3.58.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.58.0)
NuGet [3.63.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.63.0-preview.0) | [docs](/dotnet/api/overview/azure/cosmosdb) | GitHub [3.58.0](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos) | | Data Lake Analytics | NuGet [1.4.211011](https://www.nuget.org/packages/Microsoft.Azure.DataLake.USQL.SDK/1.4.211011) | | | | Data Movement | NuGet [2.0.5](https://www.nuget.org/packages/Microsoft.Azure.Storage.DataMovement/2.0.5) | | GitHub [2.0.5](https://github.com/Azure/azure-storage-net-data-movement/tree/v1.3.0) | | DCAP | NuGet [1.13.1](https://www.nuget.org/packages/Microsoft.Azure.DCAP/1.13.1) | | GitHub [1.13.1](https://github.com/microsoft/Azure-DCAP-Client/tree/1.6) | From 3ddfc6c3575f2ce1971c864535785e7ab1fa8697 Mon Sep 17 00:00:00 2001 From: Steve Molloy Date: Mon, 20 Jul 2026 10:20:28 -0700 Subject: [PATCH 042/120] Clarify OutputCache intent and limitations for classic ASP.Net. (#54828) --- .../performance/caching-in-net-framework-applications.md | 7 ++++++- .../caching-support-for-wcf-web-http-services.md | 3 +++ docs/framework/wcf/samples/aspnet-caching-integration.md | 5 ++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/framework/performance/caching-in-net-framework-applications.md b/docs/framework/performance/caching-in-net-framework-applications.md index f7607519e1d1e..581c85d9bbce5 100644 --- a/docs/framework/performance/caching-in-net-framework-applications.md +++ b/docs/framework/performance/caching-in-net-framework-applications.md @@ -52,7 +52,12 @@ Caching enables you to store data in memory for rapid access. When the data is a ### Output Caching - To manually cache application data, you can use the class in ASP.NET. ASP.NET also supports output caching, which stores the generated output of pages, controls, and HTTP responses in memory. You can configure output caching declaratively in an ASP.NET Web page or by using settings in the Web.config file. For more information, see [outputCache Element for caching (ASP.NET Settings Schema)](/previous-versions/dotnet/netframework-4.0/ms228124(v=vs.100)). + To manually cache application data, you can use the class in ASP.NET. ASP.NET also supports output caching, which stores the generated output of pages, controls, and HTTP responses in memory. When a later request matches a cached response, ASP.NET serves the stored output instead of regenerating it. You can configure output caching declaratively in an ASP.NET Web page or by using settings in the Web.config file. For more information, see [outputCache Element for caching (ASP.NET Settings Schema)](/previous-versions/dotnet/netframework-4.0/ms228124(v=vs.100)). + + A single resource often has more than one representation. For example, a product page varies by product identifier, an agenda view varies by date, and localized content varies by language or culture. `VaryBy` settings—such as `VaryByParam`, `VaryByHeader`, `VaryByCustom`, and `VaryByContentEncoding`—let output caching select and cache these alternate representations based on request characteristics. Output caching then serves the representation that matches each request. + +> [!IMPORTANT] +> Output caching is a performance optimization feature. `VaryBy` settings are intended to cache alternate representations of a resource based on request characteristics. Don't rely on cache variation to provide isolation between classes of content, including personalized, tenant-specific, authorization-dependent, or otherwise sensitive responses. Enforce any required isolation independently of cache configuration. ASP.NET lets you extend output caching by creating custom output-cache providers. By using custom providers, you can store cached content using other storage devices such as disks, cloud storage, and distributed cache engines. To create a custom output cache provider, you create a class that derives from the class and configure the application to use the custom output cache provider. diff --git a/docs/framework/wcf/feature-details/caching-support-for-wcf-web-http-services.md b/docs/framework/wcf/feature-details/caching-support-for-wcf-web-http-services.md index 4efc8cfc9c25c..785cc30e20dba 100644 --- a/docs/framework/wcf/feature-details/caching-support-for-wcf-web-http-services.md +++ b/docs/framework/wcf/feature-details/caching-support-for-wcf-web-http-services.md @@ -57,6 +57,9 @@ Also turn on ASP.NET compatibility mode in the Web.config file as shown in the f This is the same configuration element that's available to ASP.NET applications. For more information about ASP.NET cache profiles, see . For Web HTTP services, the most important attributes in the cache profile are: `cacheDuration` and `varyByParam`. Both of these attributes are required. `cacheDuration` sets the amount of time a response should be cached in seconds. `varyByParam` allows you to specify a query string parameter that is used to cache responses. All requests made with different query string parameter values are cached separately. For example, once an initial request is made to `http://MyServer/MyHttpService/MyOperation?param=10`, all subsequent requests made with the same URI would be returned the cached response (so long as the cache duration has not elapsed). Responses for a similar request that is the same but has a different value for the parameter query string parameter are cached separately. If you do not want this separate caching behavior, set `varyByParam` to "none". +> [!IMPORTANT] +> Output caching is a performance optimization feature. The `varyByParam` setting caches alternate representations of a response based on request characteristics. Don't rely on cache variation to isolate classes of content, such as personalized, tenant-specific, authorization-dependent, or otherwise sensitive responses. Enforce any required isolation independently of cache configuration. + ## SQL Cache Dependency Web HTTP service responses can also be cached with a SQL cache dependency. If your WCF Web HTTP service depends on data stored in a SQL database, you might want to cache the service's response and invalidate the cached response when data in the SQL database table changes. This behavior is configured completely within the Web.config file. First, define a connection string in the `` element. diff --git a/docs/framework/wcf/samples/aspnet-caching-integration.md b/docs/framework/wcf/samples/aspnet-caching-integration.md index fcc96c4ea1ffa..174df86f0f9f7 100644 --- a/docs/framework/wcf/samples/aspnet-caching-integration.md +++ b/docs/framework/wcf/samples/aspnet-caching-integration.md @@ -16,10 +16,13 @@ Integration with the ASP.NET Output Cache. The sample uses the to utilize ASP.NET output caching with the Windows Communication Foundation (WCF) service. The is applied to service operations, and provides the name of a cache profile in a configuration file that should be applied to responses from the given operation. -In the Service.cs file of the sample Service project, both the `GetCustomer` and `GetCustomers` operations are marked with the , which provides the cache profile name "CacheFor60Seconds". In the Web.config file of the Service project, the cache profile "CacheFor60Seconds" is provided under the `` element of ``. For this cache profile, the value of the `duration` attribute is "60", so responses associated with this profile are cached in the ASP.NET output cache for 60 seconds. Also, for this cache profile, the `varmByParam` attribute is set to "format" so requests with different values for the `format` query string parameter have their responses cached separately. Lastly, the cache profile's `varyByHeader` attribute is set to "Accept", so requests with different Accept header values have their responses cached separately. +In the Service.cs file of the sample Service project, both the `GetCustomer` and `GetCustomers` operations are marked with the , which provides the cache profile name "CacheFor60Seconds". In the Web.config file of the Service project, the cache profile "CacheFor60Seconds" is provided under the `` element of ``. For this cache profile, the value of the `duration` attribute is "60", so responses associated with this profile are cached in the ASP.NET output cache for 60 seconds. Also, for this cache profile, the `varyByParam` attribute is set to "format" so requests with different values for the `format` query string parameter have their responses cached separately. Lastly, the cache profile's `varyByHeader` attribute is set to "Accept", so requests with different Accept header values have their responses cached separately. Program.cs in the Client project demonstrates how such a client can be authored using . Note that this is just one way to access a WCF service. It is also possible to access the service using other .NET Framework classes like the WCF channel factory and . Other samples in the SDK (such as the [Basic HTTP Service](basic-http-service.md) sample) illustrate how to use these classes to communicate with a WCF service. +> [!IMPORTANT] +> Output caching is a performance optimization feature. The `varyByParam` and `varyByHeader` settings cache alternate representations of a response based on request characteristics. Don't rely on cache variation to isolate classes of content, such as personalized, tenant-specific, authorization-dependent, or otherwise sensitive responses. Enforce any required isolation independently of cache configuration. + ## To run the sample The sample consists of three projects: From e1da1268ba61401ce57154ff980ab048e546c550 Mon Sep 17 00:00:00 2001 From: "learn-build-service-prod[bot]" <113403604+learn-build-service-prod[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 15:05:08 -0400 Subject: [PATCH 043/120] Remove ms.subservice = null-safety paired with ms.service = dotnet-csharp. Replaced by ms.subservice = nullable-reference-types paired with ms.service = dotnet-csharp (#54838) Co-authored-by: Docs Allowlist Management --- .../update-applications/nullable-migration-strategies.md | 2 +- .../fundamentals/null-safety/common-tasks/resolve-warnings.md | 2 +- .../csharp/fundamentals/null-safety/nullable-reference-types.md | 2 +- docs/csharp/fundamentals/tutorials/nullable-reference-types.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/csharp/advanced-topics/update-applications/nullable-migration-strategies.md b/docs/csharp/advanced-topics/update-applications/nullable-migration-strategies.md index f9acdb9040135..6f5c2a08f7744 100644 --- a/docs/csharp/advanced-topics/update-applications/nullable-migration-strategies.md +++ b/docs/csharp/advanced-topics/update-applications/nullable-migration-strategies.md @@ -3,7 +3,7 @@ title: Nullable migration strategies description: Learn how to enable nullable reference types in an existing C# codebase. Choose a default context, address warnings progressively, and fully migrate. ms.date: 05/04/2026 ms.topic: concept-article -ms.subservice: null-safety +ms.subservice: nullable-reference-types ai-usage: ai-assisted --- # Nullable migration strategies diff --git a/docs/csharp/fundamentals/null-safety/common-tasks/resolve-warnings.md b/docs/csharp/fundamentals/null-safety/common-tasks/resolve-warnings.md index 5a04e5370307d..f62d5d4f97483 100644 --- a/docs/csharp/fundamentals/null-safety/common-tasks/resolve-warnings.md +++ b/docs/csharp/fundamentals/null-safety/common-tasks/resolve-warnings.md @@ -3,7 +3,7 @@ title: Resolve nullable warnings description: Learn the five techniques you use to address nullable warnings in C# and make your code resilient to null reference exceptions. ms.date: 05/04/2026 ms.topic: concept-article -ms.subservice: null-safety +ms.subservice: nullable-reference-types ai-usage: ai-assisted --- # Resolve nullable warnings diff --git a/docs/csharp/fundamentals/null-safety/nullable-reference-types.md b/docs/csharp/fundamentals/null-safety/nullable-reference-types.md index 04473b0c63e23..550aedb00de29 100644 --- a/docs/csharp/fundamentals/null-safety/nullable-reference-types.md +++ b/docs/csharp/fundamentals/null-safety/nullable-reference-types.md @@ -3,7 +3,7 @@ title: Nullable reference types description: Use nullable reference types to express your intent about which variables can be null. The compiler then warns when your code might dereference null. ms.date: 05/04/2026 ms.topic: concept-article -ms.subservice: null-safety +ms.subservice: nullable-reference-types ai-usage: ai-assisted --- # Nullable reference types diff --git a/docs/csharp/fundamentals/tutorials/nullable-reference-types.md b/docs/csharp/fundamentals/tutorials/nullable-reference-types.md index 6b2cd16aed837..0f0e7cc57a949 100644 --- a/docs/csharp/fundamentals/tutorials/nullable-reference-types.md +++ b/docs/csharp/fundamentals/tutorials/nullable-reference-types.md @@ -3,7 +3,7 @@ title: "Tutorial: Express your design intent with nullable and non-nullable refe description: Build a small survey app that uses nullable and non-nullable reference types to declare which references can be null and have the compiler enforce that intent. ms.date: 05/04/2026 ms.topic: tutorial -ms.subservice: null-safety +ms.subservice: nullable-reference-types ai-usage: ai-assisted #customer intent: As a C# developer, I want to use nullable and non-nullable reference types in a real design so that the compiler catches null-handling mistakes for me. From 4cc9259ff6cc97524d4138d2ec7e5ebbc029eb40 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Mon, 20 Jul 2026 13:12:06 -0700 Subject: [PATCH 044/120] Fix System.IO.IOException in DeleteFromFile when reading and writing the same file (#54836) * Initial plan * Fix IOException in DeleteFromFile by materializing LINQ query with ToList() --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- .../snippets/get-started-tutorial/csharp/Stage3/Program.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/standard/commandline/snippets/get-started-tutorial/csharp/Stage3/Program.cs b/docs/standard/commandline/snippets/get-started-tutorial/csharp/Stage3/Program.cs index 62a291c6179c8..7b8eb890acdd8 100644 --- a/docs/standard/commandline/snippets/get-started-tutorial/csharp/Stage3/Program.cs +++ b/docs/standard/commandline/snippets/get-started-tutorial/csharp/Stage3/Program.cs @@ -119,7 +119,7 @@ internal static void DeleteFromFile(FileInfo file, string[] searchTerms) { Console.WriteLine("Deleting from file"); - var lines = File.ReadLines(file.FullName).Where(line => searchTerms.All(s => !line.Contains(s))); + var lines = File.ReadLines(file.FullName).Where(line => searchTerms.All(s => !line.Contains(s))).ToList(); File.WriteAllLines(file.FullName, lines); } internal static void AddToFile(FileInfo file, string quote, string byline) From 3a6ca4ed2ae00fdad06de2310958857c811adcb6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 13:12:31 -0700 Subject: [PATCH 045/120] Bump the dotnet group with 4 updates (#54709) Bumps Microsoft.Extensions.Hosting from 10.0.5 to 10.0.9 Bumps Microsoft.Orleans.Client from 10.2.0 to 10.2.1 Bumps Microsoft.Orleans.Sdk from 10.2.0 to 10.2.1 Bumps Microsoft.Orleans.Server from 10.2.0 to 10.2.1 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Orleans.Client dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Orleans.Sdk dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Orleans.Sdk dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Orleans.Sdk dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Orleans.Server dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- docs/orleans/Directory.Build.props | 2 +- .../snippets/minimal/Client/Client.csproj | 4 ++-- .../snippets/minimal/GrainInterfaces/GrainInterfaces.csproj | 4 ++-- .../snippets/minimal/Grains/Grains.csproj | 2 +- .../tutorials-and-samples/snippets/minimal/Silo/Silo.csproj | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/orleans/Directory.Build.props b/docs/orleans/Directory.Build.props index 367bc46c74f70..56379750a2e76 100644 --- a/docs/orleans/Directory.Build.props +++ b/docs/orleans/Directory.Build.props @@ -15,7 +15,7 @@ - + diff --git a/docs/orleans/tutorials-and-samples/snippets/minimal/Client/Client.csproj b/docs/orleans/tutorials-and-samples/snippets/minimal/Client/Client.csproj index a2f56df87a8a4..4d386f0fb4a9f 100644 --- a/docs/orleans/tutorials-and-samples/snippets/minimal/Client/Client.csproj +++ b/docs/orleans/tutorials-and-samples/snippets/minimal/Client/Client.csproj @@ -5,9 +5,9 @@ - + - + diff --git a/docs/orleans/tutorials-and-samples/snippets/minimal/GrainInterfaces/GrainInterfaces.csproj b/docs/orleans/tutorials-and-samples/snippets/minimal/GrainInterfaces/GrainInterfaces.csproj index fafc4bf222ed2..d0ae79ded1357 100644 --- a/docs/orleans/tutorials-and-samples/snippets/minimal/GrainInterfaces/GrainInterfaces.csproj +++ b/docs/orleans/tutorials-and-samples/snippets/minimal/GrainInterfaces/GrainInterfaces.csproj @@ -1,10 +1,10 @@ - + - + diff --git a/docs/orleans/tutorials-and-samples/snippets/minimal/Grains/Grains.csproj b/docs/orleans/tutorials-and-samples/snippets/minimal/Grains/Grains.csproj index 6e90bd80377ae..883fbe6f57f14 100644 --- a/docs/orleans/tutorials-and-samples/snippets/minimal/Grains/Grains.csproj +++ b/docs/orleans/tutorials-and-samples/snippets/minimal/Grains/Grains.csproj @@ -1,7 +1,7 @@ - + diff --git a/docs/orleans/tutorials-and-samples/snippets/minimal/Silo/Silo.csproj b/docs/orleans/tutorials-and-samples/snippets/minimal/Silo/Silo.csproj index e4fb5a6462fb0..b8f370b1c9b6f 100644 --- a/docs/orleans/tutorials-and-samples/snippets/minimal/Silo/Silo.csproj +++ b/docs/orleans/tutorials-and-samples/snippets/minimal/Silo/Silo.csproj @@ -5,10 +5,10 @@ - + - + From 95791b0dbc95e9003029f0f1a2d56c146e36cd1d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 13:12:57 -0700 Subject: [PATCH 046/120] Bump the dotnet group with 7 updates (#54711) Bumps Microsoft.Orleans.Client from 10.2.0 to 10.2.1 Bumps Microsoft.Orleans.Clustering.Redis from 10.2.0 to 10.2.1 Bumps Microsoft.Orleans.Persistence.Redis from 10.2.0 to 10.2.1 Bumps Microsoft.Orleans.Sdk from 10.2.0 to 10.2.1 Bumps Microsoft.Orleans.Server from 10.2.0 to 10.2.1 Bumps OpenTelemetry.Instrumentation.AspNetCore from 1.15.2 to 1.16.0 Bumps OpenTelemetry.Instrumentation.Http from 1.15.1 to 1.16.0 --- updated-dependencies: - dependency-name: Microsoft.Orleans.Client dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Orleans.Sdk dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Orleans.Clustering.Redis dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Orleans.Clustering.Redis dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Orleans.Persistence.Redis dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Orleans.Sdk dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Orleans.Server dependency-version: 10.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: OpenTelemetry.Instrumentation.AspNetCore dependency-version: 1.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: OpenTelemetry.Instrumentation.Http dependency-version: 1.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- docs/orleans/host/snippets/aspire/Client/Client.csproj | 4 ++-- .../snippets/aspire/ServiceDefaults/ServiceDefaults.csproj | 4 ++-- docs/orleans/host/snippets/aspire/Silo/Silo.csproj | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/orleans/host/snippets/aspire/Client/Client.csproj b/docs/orleans/host/snippets/aspire/Client/Client.csproj index 2a015225101e7..3ce46488bfc8e 100644 --- a/docs/orleans/host/snippets/aspire/Client/Client.csproj +++ b/docs/orleans/host/snippets/aspire/Client/Client.csproj @@ -6,8 +6,8 @@ - - + + diff --git a/docs/orleans/host/snippets/aspire/ServiceDefaults/ServiceDefaults.csproj b/docs/orleans/host/snippets/aspire/ServiceDefaults/ServiceDefaults.csproj index 1b896e9d451b7..7243f55396099 100644 --- a/docs/orleans/host/snippets/aspire/ServiceDefaults/ServiceDefaults.csproj +++ b/docs/orleans/host/snippets/aspire/ServiceDefaults/ServiceDefaults.csproj @@ -8,8 +8,8 @@ - - + + diff --git a/docs/orleans/host/snippets/aspire/Silo/Silo.csproj b/docs/orleans/host/snippets/aspire/Silo/Silo.csproj index c9166c17c8efb..b9ad04a2dfefe 100644 --- a/docs/orleans/host/snippets/aspire/Silo/Silo.csproj +++ b/docs/orleans/host/snippets/aspire/Silo/Silo.csproj @@ -6,15 +6,15 @@ - - + + - + From 472491586a2798dd9c2f9f3693449b0812777597 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Mon, 20 Jul 2026 13:44:13 -0700 Subject: [PATCH 047/120] Remove GitHub Models from .NET AI documentation (#54837) --- docs/ai/conceptual/data-ingestion.md | 3 +- docs/ai/overview.md | 3 +- docs/ai/quickstarts/ai-templates.md | 6 - .../includes/ai-templates-github-models.md | 151 ------------------ docs/zone-pivot-groups.yml | 2 - 5 files changed, 2 insertions(+), 163 deletions(-) delete mode 100644 docs/ai/quickstarts/includes/ai-templates-github-models.md diff --git a/docs/ai/conceptual/data-ingestion.md b/docs/ai/conceptual/data-ingestion.md index 0d0dab8a9f38a..747ecd8206f85 100644 --- a/docs/ai/conceptual/data-ingestion.md +++ b/docs/ai/conceptual/data-ingestion.md @@ -88,8 +88,7 @@ The writer can also automatically generate embeddings for your chunks using > embeddingGenerator = openAIClient.GetEmbeddingClient("text-embedding-3-small").AsIEmbeddingGenerator(); diff --git a/docs/ai/overview.md b/docs/ai/overview.md index 5482a1af78373..f4b921a55878d 100644 --- a/docs/ai/overview.md +++ b/docs/ai/overview.md @@ -24,11 +24,10 @@ Millions of developers use .NET to create applications that run on the web, on m .NET libraries support a wide range of AI service providers, enabling you to build applications with the AI platform that best fits your needs. The following table lists the major AI providers that integrate with `Microsoft.Extensions.AI`: | Provider | Description | -|----------|------------------------|---------------------------|-----------------|-------------| +|----------|------------------| | OpenAI | Direct integration with OpenAI's models including GPT-4, GPT-3.5, and DALL-E | | Azure OpenAI | Enterprise-grade OpenAI models hosted on Azure with enhanced security and compliance | | Azure AI Foundry | Microsoft's managed platform for building and deploying AI agents at scale | -| GitHub Models | Access to models available through GitHub's AI model marketplace | | Ollama | Run open-source models locally, for example, Llama, Mistral, and Phi-3 | | Google Gemini | Google's multimodal AI models | | Amazon Bedrock | AWS's managed service for foundation models | diff --git a/docs/ai/quickstarts/ai-templates.md b/docs/ai/quickstarts/ai-templates.md index c3d33508a2e49..e835bf2e27ae6 100644 --- a/docs/ai/quickstarts/ai-templates.md +++ b/docs/ai/quickstarts/ai-templates.md @@ -11,12 +11,6 @@ ai-usage: ai-assisted In this quickstart, you learn how to create a .NET AI app to chat with custom data using the .NET AI app template. The template is designed to streamline the getting started experience for building AI apps with .NET by handling common setup tasks and configurations for you. -:::zone target="docs" pivot="github-models" - -[!INCLUDE [ai-templates-github-models](includes/ai-templates-github-models.md)] - -:::zone-end - :::zone target="docs" pivot="azure-openai" [!INCLUDE [ai-templates-azure-openai](includes/ai-templates-azure-openai.md)] diff --git a/docs/ai/quickstarts/includes/ai-templates-github-models.md b/docs/ai/quickstarts/includes/ai-templates-github-models.md deleted file mode 100644 index b477bcf3514b2..0000000000000 --- a/docs/ai/quickstarts/includes/ai-templates-github-models.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -ms.date: 2/21/2025 -ms.topic: include ---- - -## Prerequisites - -* [.NET 9.0 SDK](https://dotnet.microsoft.com/download) -* One of the following IDEs (optional): - * [Visual Studio](https://visualstudio.microsoft.com/) - * [Visual Studio Code](https://code.visualstudio.com) with [C# Dev Kit](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit) - -## Install the .NET AI app template - -The **AI Chat Web App** template is available as a template package through NuGet. Use the [`dotnet new install`](../../../core/tools/dotnet-new-install.md) command to install the package: - -```dotnetcli -dotnet new install Microsoft.Extensions.AI.Templates -``` - -## Create the .NET AI app - -After you install the AI app templates, you can use them to create starter apps through Visual Studio UI, Visual Studio Code, or the .NET CLI. - -# [Visual Studio](#tab/visual-studio) - -1. Inside Visual Studio, navigate to **File > New > Project**. -1. On the **Create a new project** screen, search for **AI Chat Web App**. Select the matching result and then choose **Next**. -1. On the **Configure your new project** screen, enter the desired name and location for your project and then choose **Next**. -1. On the **Additional information** screen: - - For the **Framework** option, select **.NET 9.0**. - - For the **AI service provider** option, select **GitHub Models**. - - For the **Vector store** option, select **Local on-disc (for prototyping)**. -1. Select **Create** to complete the process. - -# [Visual Studio Code](#tab/visual-studio-code) - -1. Open the command palette in Visual Studio Code. -1. Search for *New project* and select the result called **.NET: New Project**. -1. Filter the project templates list by searching for *AI*. -1. Select **AI Chat Web App** and press Enter. - -> [!NOTE] -> The command palette experience currently only supports the default settings. To configure your AI platform and vector store during template creation, use the Visual Studio or .NET CLI workflows. - -# [.NET CLI](#tab/dotnet-cli) - -1. In a terminal window, navigate to an empty directory on your device. -1. Create a new app with the `dotnet new` command and the following parameters: - - ```dotnetcli - dotnet new aichatweb --Framework net9.0 --provider githubmodels --vector-store local - ``` - - The .NET CLI creates a new .NET 9.0 app with the configurations you specified. - -1. Open the new app in your editor of choice, such as Visual Studio Code. - - ```dotnetcli - code . - ``` - ---- - -### Explore the sample app - -The sample app you created is a Blazor Interactive Server web app preconfigured with common AI and data services. The app handles the following concerns for you: - -- Includes essential `Microsoft.Extensions.AI` packages and other dependencies in the `csproj` file to help you get started working with AI. -- Creates various AI services and registers them for dependency injection in the `Program.cs` file: - - An `IChatClient` service to chat back and forth with the generative AI model - - An `IEmbeddingGenerator` service that's used to generate embeddings, which are essential for vector search functionality - - A `JsonVectorStore` to act as an in-memory vector store -- Registers a SQLite database context service to handle ingesting documents. The app is preconfigured to ingest whatever documents you add to the `Data` folder of the project, including the provided example files. -- Provides a complete chat UI using Blazor components. The UI handles rich formatting for the AI responses and provides features such as citations for response data. - -## Configure access to GitHub Models - -To authenticate to GitHub models from your code, you'll need to [create a GitHub personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token): - -1. Navigate to the **Personal access tokens** page of your GitHub account settings under **Developer Settings**. -1. Select **Generate new token**. -1. Enter a name for the token, and under **Permissions**, set **Models** to **Access: Read-only**. -1. Select **Generate token** at the bottom of the page. -1. Copy the token for use in the steps ahead. - -## Configure the app - -The **AI Chat Web App** is almost ready to go as soon as it's created. However, you need to configure the app to use the personal access token you set up for GitHub Models. By default, the app template searches for this value in the project's local .NET user secrets. You can manage user secrets using either the Visual Studio UI or the .NET CLI. - -> [!NOTE] -> If you enabled Aspire for your app, skip to the [Aspire configuration](#aspire-configuration) section. - -## [Visual Studio](#tab/configure-visual-studio) - -1. Right-click on your project in the Solution Explorer and select **Manage User Secrets**. This opens a `secrets.json` file where you can store your API keys without them being tracked in source control. - -2. Add the following key and value: - - ```json - { - "GitHubModels:Token": "" - } - ``` - -## [.NET CLI](#tab/configure-dotnet-cli) - -1. Open a terminal window set to the root of your project. - -1. Run the `dotnet user-secrets set` command to set the user secret: - - ```dotnetcli - dotnet user-secrets set GitHubModels:Token - ``` - ---- - -### Aspire configuration - -To use the **AI Chat Web App** template with Aspire orchestration, add the following configurations: - -#### [Visual Studio](#tab/configure-visual-studio-aspire) - -1. Right-click on your `*.AppHost` project in the Solution Explorer and select **Manage User Secrets**. This opens a `secrets.json` file where you can store your API keys without them being tracked in source control. - -2. Add the following key and value: - - ```json - { - "ConnectionStrings:openai": "Endpoint=https://models.inference.ai.azure.com;Key=" - } - ``` - -#### [.NET CLI](#tab/configure-dotnet-cli-aspire) - -1. Open a terminal window set to the root of your `*.AppHost` project. - -1. Run the `dotnet user-secrets set` command to set the user secret: - - ```dotnetcli - dotnet user-secrets set ConnectionStrings:openai "Endpoint=https://models.inference.ai.azure.com;Key=" - ``` - ---- - -By default, the app template uses the `gpt-4o-mini` and `text-embedding-3-small` models. To try other models, update the name parameters in `Program.cs`: - - ```csharp - var chatClient = ghModelsClient.AsChatClient("gpt-4o-mini"); - var embeddingGenerator = ghModelsClient.AsEmbeddingGenerator("text-embedding-3-small"); - ``` diff --git a/docs/zone-pivot-groups.yml b/docs/zone-pivot-groups.yml index 1225143c188f2..f61b42a3d070e 100644 --- a/docs/zone-pivot-groups.yml +++ b/docs/zone-pivot-groups.yml @@ -176,8 +176,6 @@ groups: title: MEAI targets prompt: Choose a host service for your AI models pivots: - - id: github-models - title: GitHub Models - id: azure-openai title: Azure OpenAI - id: openai From 2e690cf6852bedb1d8cd4e292ae08c9167345b15 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Mon, 20 Jul 2026 13:52:29 -0700 Subject: [PATCH 048/120] Rewrite SIMD article as "SIMD and Hardware Intrinsics" (#54834) * Rewrite SIMD article as SIMD and Hardware Intrinsics guide Modernize docs/standard/simd.md into a source-of-truth guide covering the layered SIMD support in .NET 11: System.Numerics fixed-shape types, Vector, cross-platform Vector64/128/256/512, platform-specific hardware intrinsics, and TensorPrimitives. Adds a full common-operations reference, code-structure/remainder-handling guidance, an instruction-set configuration-knob reference, and testing/benchmarking sections, backed by a verified C# snippet project. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Fix markdownlint violations in SIMD article Escape the angle brackets in the Vector heading (MD033 / OPS disallowed-html-tag) and drop a trailing space in the config-knob callout (MD009). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Correct Arm64 RDM and RCpc knob descriptions Match the EnableArm64Rdm/Rcpc knob names: RDM (Rounding Doubling Multiply Accumulate), not RDMA; and RCpc casing without the duplicated word. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Guard the Contains sample against sub-vector buffers The overlapping-tail load underflows for a non-empty buffer shorter than one vector; fall back to a scalar scan in that case so the sample is correct for any length. Verify small and empty buffers in the runner. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Apply editorial review feedback to SIMD article Sentence-case the title/heading/toc, drop redundant displayProperty=fullName from namespace xrefs, and take the copyedits from review (may->might, wording, and acronym spacing). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Update docs/standard/simd.md Co-authored-by: Bill Wagner --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Bill Wagner --- docs/fundamentals/toc.yml | 2 +- docs/standard/simd.md | 325 +++++++++++++----- .../simd/csharp/AdvancedVectorization.cs | 271 +++++++++++++++ .../simd/csharp/HardwareIntrinsicsExample.cs | 38 ++ .../snippets/simd/csharp/NumericsExamples.cs | 74 ++++ docs/standard/snippets/simd/csharp/Program.cs | 51 +++ .../snippets/simd/csharp/SimdSnippets.csproj | 15 + .../simd/csharp/SimpleVectorization.cs | 87 +++++ .../simd/csharp/TensorPrimitivesExample.cs | 23 ++ 9 files changed, 803 insertions(+), 83 deletions(-) create mode 100644 docs/standard/snippets/simd/csharp/AdvancedVectorization.cs create mode 100644 docs/standard/snippets/simd/csharp/HardwareIntrinsicsExample.cs create mode 100644 docs/standard/snippets/simd/csharp/NumericsExamples.cs create mode 100644 docs/standard/snippets/simd/csharp/Program.cs create mode 100644 docs/standard/snippets/simd/csharp/SimdSnippets.csproj create mode 100644 docs/standard/snippets/simd/csharp/SimpleVectorization.cs create mode 100644 docs/standard/snippets/simd/csharp/TensorPrimitivesExample.cs diff --git a/docs/fundamentals/toc.yml b/docs/fundamentals/toc.yml index 57efc41124d8b..fe707ee890ac6 100644 --- a/docs/fundamentals/toc.yml +++ b/docs/fundamentals/toc.yml @@ -411,7 +411,7 @@ items: href: ../standard/memory-and-spans/index.md - name: Memory and Span usage guidelines href: ../standard/memory-and-spans/memory-t-usage-guidelines.md - - name: SIMD-enabled types + - name: SIMD and hardware intrinsics href: ../standard/simd.md - name: Value tuples href: ../standard/value-tuples.md diff --git a/docs/standard/simd.md b/docs/standard/simd.md index c275fc3c1fa2a..43b23787c424c 100644 --- a/docs/standard/simd.md +++ b/docs/standard/simd.md @@ -1,121 +1,282 @@ --- -title: SIMD-accelerated types in .NET -description: This article describes SIMD-enabled types in .NET and demonstrates how to use hardware SIMD operations in C# and .NET. +title: Use SIMD and hardware intrinsics in .NET +description: Learn about the layered SIMD support in .NET, from System.Numerics vector types to cross-platform Vector64/128/256/512 APIs, hardware intrinsics, and TensorPrimitives. author: FIVIL ms.author: tagoo -ms.date: 03/26/2026 +ms.date: 07/18/2026 ai-usage: ai-assisted --- -# Use SIMD-accelerated numeric types +# Use SIMD and hardware intrinsics in .NET -SIMD (Single instruction, multiple data) provides hardware support for performing an operation on multiple pieces of data, in parallel, using a single instruction. In .NET, there's set of SIMD-accelerated types under the namespace. SIMD operations can be parallelized at the hardware level. That increases the throughput of the vectorized computations, which are common in mathematical, scientific, and graphics apps. +SIMD (single instruction, multiple data) is hardware support for applying one operation to multiple pieces of data in parallel with a single instruction. Vectorized code processes several values per iteration instead of one, which can greatly increase throughput for the kind of numeric, scientific, graphics, text-processing, and data-parallel work where the same operation repeats over a buffer. The trade-off is added complexity, so it pays off most when the input is large enough and the win is confirmed with measurements. -## .NET SIMD-accelerated types +.NET provides several kinds of SIMD support. Pick the one that matches how much control you need and how much complexity you're willing to take on. -The .NET SIMD-accelerated types include the following types: +## Types of SIMD support in .NET -- The , , and types, which represent vectors with 2, 3, and 4 values. +| API | Namespace | When to use it | +| --- | --- | --- | +| Fixed-purpose vector and matrix types | | Graphics and geometry math with 2-4 element vectors, matrices, quaternions, and planes. | +| `Vector` | | Portable, variable-width vectorization when you don't need per-platform control. | +| `Vector64`, `Vector128`, `Vector256`, `Vector512` | | Cross-platform, fixed-width vectorization with fine-grained control. This is the recommended starting point for new vectorized algorithms. | +| Hardware intrinsics | , , | Specific processor instructions that the higher-level APIs don't expose, for the last bit of performance on a hot path. | +| `TensorPrimitives` | | Ready-made, vectorized math over spans. It does the vectorization for you. | -- Two matrix types, , which represents a 3x2 matrix, and , which represents a 4x4 matrix of values. +Where these APIs overlap, they relate through layers of abstraction. The generic vector types are the foundational interchange types that the other layers pass around, so they're technically the lowest level: the variable-width `Vector`, which grows to whatever width the running hardware supports, and the fixed-width `Vector64` through `Vector512`. The platform-specific hardware intrinsics in , , and operate on those types, each mapping directly to an individual processor instruction. The cross-platform operations exposed on the generic types sit a step above the platform-specific intrinsics, lowering to them for each target. Higher still are the managed APIs that operate over entire buffers—vectorized methods on `Span` and `string`, and —which build on the layers below, so you get SIMD acceleration without hand-writing any of it. The fixed-shape types are domain-specific convenience types for graphics and geometry rather than part of this interchange stack. -- The type, which represents a plane in three-dimensional space using values. +The rest of this article works through these APIs from the highest level to the lowest, then covers testing, benchmarking, and best practices. -- The type, which represents a vector that is used to encode three-dimensional physical rotations using values. +## System.Numerics vector and matrix types -- The type, which represents a vector of a specified numeric type and provides a broad set of operators that benefit from SIMD support. The count of a instance is fixed for the lifetime of an application, but its value depends on the CPU of the machine running the code. +The namespace provides SIMD-accelerated types with a fixed shape: - > [!NOTE] - > The type is not included in .NET Framework. You must install the [System.Numerics.Vectors](https://www.nuget.org/packages/System.Numerics.Vectors) NuGet package to get access to this type. - -The SIMD-accelerated types are implemented in such a way that they can be used with non-SIMD-accelerated hardware or JIT compilers. To determine whether SIMD acceleration is available at runtime, use . If that property returns `true`, at least some APIs use hardware-accelerated SIMD operations. If it returns `false`, no APIs are hardware accelerated. +- , , and represent vectors of 2, 3, and 4 values. +- and represent 3x2 and 4x4 matrices of values. +- represents a plane in three-dimensional space. +- represents a vector used to encode three-dimensional rotations. -## How to use SIMD? +These types map naturally to graphics and geometry, and the runtime accelerates their operations with SIMD instructions where the hardware supports them. The following example adds two vectors: -Before executing custom SIMD algorithms, it's possible to check if the host machine supports SIMD by using , which returns a . This doesn't guarantee that SIMD-acceleration is enabled for a specific type, but is an indicator that it's supported by some types. +:::code language="csharp" source="./snippets/simd/csharp/NumericsExamples.cs" id="SimpleVectorAdd"::: -## Simple vectors +They also expose the common vector math you'd expect, such as dot product, distance, and clamping: -The most primitive SIMD-accelerated types in .NET are , , and types, which represent vectors with 2, 3, and 4 values. The example below uses to add two vectors. +:::code language="csharp" source="./snippets/simd/csharp/NumericsExamples.cs" id="SimpleVectorOps"::: -```csharp -var v1 = new Vector2(0.1f, 0.2f); -var v2 = new Vector2(1.1f, 2.2f); -var vResult = v1 + v2; -``` +The matrix types support matrix math such as transpose and multiplication: -It's also possible to use .NET vectors to calculate other mathematical properties of vectors such as `Dot product`, `Transform`, `Clamp` and so on. +:::code language="csharp" source="./snippets/simd/csharp/NumericsExamples.cs" id="MatrixMultiply"::: -```csharp -var v1 = new Vector2(0.1f, 0.2f); -var v2 = new Vector2(1.1f, 2.2f); -var vResult1 = Vector2.Dot(v1, v2); -var vResult2 = Vector2.Distance(v1, v2); -var vResult3 = Vector2.Clamp(v1, Vector2.Zero, Vector2.One); -``` +## Vector\ -## Matrix +`Vector` represents a variable-width vector of a primitive numeric type. Its length is fixed for the lifetime of the process, but the value of `Vector.Count` depends on the CPU that runs the code. The Just-In-Time (JIT) compiler treats `Count` as a constant, so loops written against it optimize well. -, which represents a 3x2 matrix, and , which represents a 4x4 matrix. Can be used for matrix-related calculations. The example below demonstrates multiplication of a matrix to its correspondent transpose matrix using SIMD. +`Vector` gives you portable vectorization without per-platform code, at the cost of not knowing the vector width at compile time. The following example computes the element-wise add of two arrays: -```csharp -var m1 = new Matrix4x4( - 1.1f, 1.2f, 1.3f, 1.4f, - 2.1f, 2.2f, 3.3f, 4.4f, - 3.1f, 3.2f, 3.3f, 3.4f, - 4.1f, 4.2f, 4.3f, 4.4f); +:::code language="csharp" source="./snippets/simd/csharp/NumericsExamples.cs" id="VectorTAdd"::: -var m2 = Matrix4x4.Transpose(m1); -var mResult = Matrix4x4.Multiply(m1, m2); -``` +> [!NOTE] +> This example is illustrative. You rarely need to write a loop like this by hand, because [`TensorPrimitives`](#higher-level-math-with-tensorprimitives) already provides accelerated span-based math. This element-wise add is , and reductions such as are provided too. These operations are hardware-accelerated for the element types that `Vector` supports (`Vector.IsSupported`). -## Vector\ +## Check for hardware acceleration + +SIMD-accelerated types work even on hardware or JIT configurations that don't support SIMD, because they fall back to non-accelerated software implementations. To branch on whether acceleration is actually available, check the relevant `IsHardwareAccelerated` property: + +- reports whether `Vector` operations are accelerated. +- , and the `Vector64`/`Vector256`/`Vector512` equivalents, report acceleration for each fixed width. + +These properties are turned into constants by the JIT, so the branches you don't take are eliminated and there's no runtime cost to checking them. Don't cache the values; read them directly where you need them. The same applies to the `Count` properties (for example, `Vector128.Count`), which are also JIT-time constants. + +Most operations on an accelerated width are themselves accelerated, but it isn't guaranteed for every operation. For example, floating-point division might be accelerated where integer division isn't. When `Vector256` is accelerated, `Vector128` usually is too, but there's no guarantee, so check each width you use. + +> [!TIP] +> If an operation you need isn't accelerated on a platform you care about, or you'd like a new cross-platform API, file an issue on [dotnet/runtime](https://github.com/dotnet/runtime/issues). The same applies to codegen improvements. + +Not every element type is valid for every vector. `Vector128` and its siblings support the primitive numeric types (`byte`, `sbyte`, `short`, `ushort`, `int`, `uint`, `long`, `ulong`, `float`, `double`, `nint`, and `nuint`) today, and that set might grow to include other types in the future. Use `Vector128.IsSupported` to determine whether a given `T` is valid, which is especially useful from generic code. + +Types that aren't supported, such as `char` and `bool`, can still be vectorized by reinterpreting the buffer as a supported type of the same size. Use to reinterpret a span—for example, `char` to `ushort`—or the vector's `As` method to reinterpret a vector you already hold. Reinterpretation only changes the type, not the underlying bits, so it's your responsibility to keep the data well-formed: a `bool` must stay `0` or `1`, and a `char` must remain a valid UTF-16 code unit. If a vectorized operation could produce an out-of-range value, take care to normalize the result before writing it back. + +## Cross-platform vectorization with Vector128 + +`Vector128` is the common denominator across every platform that supports vectorization, so it's the best place to start. It holds a 128-bit vector: 16 bytes, 8 shorts, 4 ints/floats, or 2 longs/doubles. `Vector256` is twice as wide, and `Vector512` twice again. Not all hardware supports the larger widths, so the examples that follow use `Vector128` for portability. + +Each width has a generic type (`Vector128`) for the data and a non-generic static class () that holds most of the operations, including static factory methods like `Create` and `Load`. Operators such as `+`, `&`, and `<<` are the idiomatic way to express arithmetic and bit operations; prefer them over the named method equivalents to avoid operator-precedence bugs and improve readability. For algorithms that depend on byte order, branch on , which the JIT also folds to a constant. + +> [!NOTE] +> On x86/x64, `Vector256` operations are generally treated as two independent 128-bit "lanes". For most element-wise operations this is transparent, but operations that cross lanes (such as shuffles or pairwise/horizontal operations) might behave differently or cost more than the `Vector128` equivalent. Confirm with benchmarks before assuming a wider vector is faster. + +### Common operations + +`Vector128` and its wider siblings expose a large API surface. You don't need to memorize it—know the categories and look up the details when you need them. Every operation has a software fallback for platforms that can't accelerate it. The following table covers essentially the whole surface. + +| Category | What it does | Representative APIs | +| --- | --- | --- | +| Constants | Predefined constant vectors | `Zero`, `One`, `NegativeOne`, `AllBitsSet`, `Indices`, `SignSequence`, `E`, `Pi`, `Tau`, `Epsilon`, `NaN`, `PositiveInfinity`, `NegativeInfinity`, `NegativeZero` | +| Creation | Broadcast a scalar, set elements, or generate a sequence | `Create`, `CreateScalar`, `CreateScalarUnsafe`, `Create(ReadOnlySpan)`, `CreateSequence`, `CreateGeometricSequence`, `CreateHarmonicSequence`, `CreateAlternatingSequence` | +| Load and store | Move data between memory and a vector | `Load`, `LoadUnsafe`, `LoadAligned`, `LoadAlignedNonTemporal`, `Store`, `StoreUnsafe`, `StoreAligned`, `StoreAlignedNonTemporal`, `CopyTo`, `TryCopyTo` | +| Arithmetic | Element-wise math and reductions | `Add (x + y)`, `Subtract (x - y)`, `Multiply (x * y)`, `Divide (x / y)`, `Negate (-x)`, `AddSaturate`, `SubtractSaturate`, `Abs`, `Sqrt`, `FusedMultiplyAdd`, `Dot`, `Sum` | +| Bit operations | Bitwise logic and shifts | `BitwiseAnd (x & y)`, `BitwiseOr (x \| y)`, `Xor (x ^ y)`, `AndNot (x & ~y)`, `OnesComplement (~x)`, `ShiftLeft (x << n)`, `ShiftRightArithmetic (x >> n)`, `ShiftRightLogical (x >>> n)` | +| Min, max, and clamp | Element-wise minimum, maximum, and range clamping | `Min`, `Max`, `Clamp`, `MinMagnitude`, `MaxMagnitude`, `MinNumber`, `MaxNumber`, `MinMagnitudeNumber`, `MaxMagnitudeNumber` | +| Rounding | Round each element to an integral value | `Ceiling`, `Floor`, `Round`, `Truncate` | +| Math functions | Sign, interpolation, angle, and transcendental helpers | `CopySign`, `Lerp`, `DegreesToRadians`, `RadiansToDegrees`, `Hypot`, `Sin`, `Cos`, `SinCos`, `Asin`, `Exp`, `Log`, `Log2` | +| Comparison | Compare each element; the result is a vector mask, not the `bool` an operator gives | `Equals`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan`, `LessThanOrEqual` | +| Classification | Per-element predicates over the number line, each returning a vector mask | `IsNaN`, `IsFinite`, `IsInfinity`, `IsPositiveInfinity`, `IsNegativeInfinity`, `IsInteger`, `IsEvenInteger`, `IsOddInteger`, `IsNegative`, `IsPositive`, `IsNormal`, `IsSubnormal`, `IsZero` | +| Comparison reductions | Collapse a per-element comparison to a single `bool` | `EqualsAll (x == y)`, `EqualsAny`, `GreaterThanAll`, `GreaterThanAny`, `GreaterThanOrEqualAll`, `GreaterThanOrEqualAny`, `LessThanAll`, `LessThanAny`, `LessThanOrEqualAll`, `LessThanOrEqualAny` | +| Whole-vector predicates | Reduce a vector to a `bool`: whether all, any, or no elements equal a value, or (the `WhereAllBitsSet` forms) have all bits set. Prefer these over converting a mask to an index | `All`, `Any`, `None`, `AllWhereAllBitsSet`, `AnyWhereAllBitsSet`, `NoneWhereAllBitsSet` | +| Search | Count or locate elements by value, or (the `WhereAllBitsSet` forms) set lanes in a mask | `Count`, `IndexOf`, `LastIndexOf`, `CountWhereAllBitsSet`, `IndexOfWhereAllBitsSet`, `LastIndexOfWhereAllBitsSet` | +| Mask to index | Turn a comparison mask into a scalar bitmask and scan it | `ExtractMostSignificantBits` with or | +| Selection | Blend two vectors according to a mask, bit by bit | `ConditionalSelect(x, y, z)`, equivalent to `(y & x) \| (z & ~x)` | +| Conversion | Change numeric type, computing new values (for example, `int` to `float`) | `ConvertToInt32`, `ConvertToInt64`, `ConvertToUInt32`, `ConvertToUInt64`, `ConvertToSingle`, `ConvertToDouble` | +| Widening and narrowing | Split elements into a wider type or pack them into a narrower one | `Widen`, `WidenLower`, `WidenUpper`, `Narrow`, `NarrowWithSaturation` | +| Reinterpretation | Reinterpret the bits as another element type without changing them | `As`, `AsByte`, `AsInt32`, `AsSingle`, and the other `As*` element forms | +| System.Numerics interop | Reinterpret between `Vector128` and the fixed-shape numerics types | `AsVector`, `AsVector2`, `AsVector3`, `AsVector4`, `AsPlane`, `AsQuaternion`, `AsVector128`, `AsVector128Unsafe` | +| Reorder | Rearrange elements by index or interleave two vectors | `Shuffle`, `Reverse`, `Zip`, `ZipLower`, `ZipUpper`, `Unzip`, `UnzipEven`, `UnzipOdd`, `ConcatLowerLower`, `ConcatLowerUpper`, `ConcatUpperLower`, `ConcatUpperUpper` | +| Lane access | Read or replace individual elements and halves, or resize the vector | `GetElement`, `WithElement`, `ToScalar`, `GetLower`, `GetUpper`, `WithLower`, `WithUpper`, `ToVector256` | + +> [!TIP] +> Several operations have `Estimate` and `Native` variants—for example, `MultiplyAddEstimate`, `ClampNative`, `MinNative`, `MaxNative`, `ShuffleNative`, and `ConvertToInt32Native`. They map to a faster hardware instruction that trades some precision or gives up an IEEE edge-case guarantee (such as NaN handling), so reach for them only when a benchmark shows the exact form is the bottleneck and the looser semantics are acceptable. + +> [!NOTE] +> `Vector256.Shuffle` treats its input as a single 256-bit vector, where-as the platform-specific `Avx2.Shuffle` operates as two independent 128-bit lanes. The cross-platform API is the more portable choice, but confirm the behavior you need when porting hand-written intrinsics. + +### Structure the code path + +A vectorized method typically fans out into a path per vector width plus a scalar fallback for small inputs and non-accelerated hardware. To use the largest vector the hardware supports, check the widest vector first and work down: + +:::code language="csharp" source="./snippets/simd/csharp/AdvancedVectorization.cs" id="CodeStructure"::: + +Each width's outer guard combines `Vector128.IsHardwareAccelerated` (a JIT-time constant for whether the platform accelerates that width) with `Vector128.IsSupported` (whether the element type `T` is valid for that width). Inside a supported block, compare the input length against `Count` to choose between the vectorized path and a small-input fallback. The method is generic over `T`, and the `Vector256` and `Vector512` blocks—identical to the `Vector128` block but using the wider type—are shown commented out for brevity. + +There are two distinct fallbacks. A buffer that's too small for even the narrowest vector, but on accelerated hardware, goes to `SumVectorSmall`—an explicit `switch` jump table that handles each possible sub-vector length without a loop: + +:::code language="csharp" source="./snippets/simd/csharp/AdvancedVectorization.cs" id="VectorSmall"::: + +`sizeof(T)` is also a JIT-time constant, so `SumVectorSmall` dispatches on the element width to a table sized for the widest vector's worth of elements—the same approach uses. (When the new memory safety model is enabled, `sizeof(T)` expressions on a type parameter with the `unmanaged` constraint is allowed in safe code.) Only the 4-byte table is shown; the 1-byte, 2-byte, and 8-byte tables share its shape. Its larger cases fold the leftover with a `Vector256` or `Vector128` using two overlapping loads—one from the start, one from the end—so the wider-remainder handling for the omitted `Vector512`/`Vector256` paths lives right in the jump table. The two loads overlap whenever the length isn't an exact multiple of the width, so the tail is masked to the additive identity with `ConditionalSelect` before it's summed. That mask is only needed because addition is non-idempotent; an idempotent operation such as a search could fold the overlapping tail in directly. A buffer on hardware with no vectorization at all falls through to `SumScalar`, an ordinary scalar loop. + +### Loop over the input and handle the remainder + +To process a buffer larger than a single vector, loop over it a vector at a time, then handle the leftover elements that don't fill a full vector. The robust way to handle that tail is to reprocess the last full vector's worth of elements, overlapping some the loop already handled—which avoids a separate scalar epilogue. Whether that overlap needs correcting depends on the operation. + +A **non-idempotent** operation such as a sum would count the overlapping elements twice, so mask them down to the operation's identity before folding them in. Use this when each element must contribute exactly once: + +:::code language="csharp" source="./snippets/simd/csharp/AdvancedVectorization.cs" id="MaskedRemainder"::: + +This version guards the unrolled loop with an `if`, so small payloads skip the four accumulators entirely and fall straight to the remainder. When there's enough data, a `do`/`while` accumulates four vectors per iteration into independent accumulators—which lets the processor pipeline the additions—and combines them pairwise. A `switch` jump table then folds in the remaining zero-to-three full vectors and, in `case 0`, the sub-vector tail: it reuses a full vector preloaded from the end of the buffer, overlapping the elements already processed, and masks that overlap down to the additive identity with `ConditionalSelect` so the tail stays vectorized instead of falling out to a scalar loop. As before, `Vector128.Create` reads `Vector128.Count` elements from the span. The JIT elides the span's bounds check for typical access patterns, so `Create` is a fine default even in a hot loop; `LoadUnsafe` (covered next) is the lower-level alternative for when you walk the buffer by managed reference. For very large inputs, a complete implementation would also align the buffer and use non-temporal loads and stores to avoid evicting useful cache lines—both omitted here and covered fully by `TensorPrimitives`. + +An **idempotent** operation such as searching for a value can reprocess the overlap harmlessly, so it folds the last vector in directly with no mask: + +:::code language="csharp" source="./snippets/simd/csharp/SimpleVectorization.cs" id="VectorizedRemainder"::: + +> [!WARNING] +> Mishandling the remainder is a common source of bugs. A loop that reads past the end of the buffer produces non-deterministic results and can crash. The runtime's test suite uses a `BoundedMemory` helper that places a no-access page immediately after the buffer, so any out-of-bounds read throws an during testing. Always cover the remainder logic, including buffers whose length isn't a multiple of the vector width. + +### Load and store vectors safely + +For most code, `Vector128.Create(span)` and are the simplest way to move data between a span and a vector, and the JIT keeps them efficient. When you need the lower-level load and store—for example, to walk a buffer by managed reference—prefer the and overloads that take a managed reference and an `nuint` element offset. Unlike the pointer-based `Load`/`Store` overloads, they don't require pinning the buffer, and unlike raw reference arithmetic, they don't need you to manually advance a `ref`. Both alternatives are easy to get wrong in ways that introduce garbage-collector holes or access violations. + +So that empty buffers don't throw, get the starting reference from (or for arrays) rather than `ref span[0]`. + +> [!IMPORTANT] +> Offset arithmetic uses unsigned `nuint`. Always check the buffer length before computing an offset such as `buffer.Length - Vector128.Count`. If the buffer is smaller than one vector, that subtraction underflows to a huge value and the loop reads invalid memory. + +## Platform-specific hardware intrinsics + +When a specific processor instruction gives you an edge that the portable APIs don't expose, reach for the hardware intrinsics in , , and . Each intrinsic class has an `IsSupported` property (also a JIT constant) so you can guard the specialized path and fall back to portable code elsewhere: + +:::code language="csharp" source="./snippets/simd/csharp/HardwareIntrinsicsExample.cs" id="HardwareIntrinsics"::: + +The preceding method shows how to light up per-architecture code paths when you want them, but it's deliberately a simple example: you don't actually need it here. The portable expression `(vector & mask) == Vector128.Zero` already lowers to the optimal instruction on each platform (for example, `ptest` on x86/x64), so it's doing the same work as the hand-written branches, just without the complexity. Reach for explicit intrinsics only when a specific instruction measurably beats what the portable APIs generate. + +Hardware intrinsics require a separate implementation per instruction set, so treat them as an optimization for measured hot paths rather than a default. The `Vector128`/`Vector256` APIs already lower to efficient instructions on each platform, and in practice sophisticated per-instruction code doesn't always win. Confirm the difference with a benchmark before committing to the extra maintenance. + +## Higher-level math with TensorPrimitives + +If you need vectorized math over spans and don't want to write the loops yourself, provides a large set of numeric operations—element-wise arithmetic, exponentials, and reductions such as dot product and cosine similarity—that are already vectorized internally. It's available in the [System.Numerics.Tensors](https://www.nuget.org/packages/System.Numerics.Tensors) NuGet package. + +:::code language="csharp" source="./snippets/simd/csharp/TensorPrimitivesExample.cs" id="TensorPrimitives"::: + +For AI and numeric workloads, `TensorPrimitives` often delivers most of the benefit of hand-written SIMD with none of the complexity. + +## Test all code paths + +Because a vectorized method has several code paths, tests need to cover each one: the `Vector256` path, the `Vector128` path, and the scalar path, each with inputs both large enough and too small to benefit. You can vary the input size in tests, but you can't toggle hardware acceleration at the test level. Instead, control it with environment variables before the process starts: + +- Set `DOTNET_EnableAVX2=0` to make return `false`. +- Set `DOTNET_EnableHWIntrinsic=0` to disable intrinsics entirely, so `Vector128`, `Vector64`, and `Vector` all report no acceleration. + +To exercise every path on a single machine, run the test suite once with no overrides, once with `DOTNET_EnableAVX2=0`, and once with `DOTNET_EnableHWIntrinsic=0`. The alternative is running across enough varied hardware to cover them. + +### Instruction-set configuration knobs + +Beyond those two, the runtime recognizes a knob per logical grouping of instruction sets, each prefixed with `DOTNET_`. A single knob can cover several related instruction sets—`EnableAVX2`, for instance, gates AVX2 along with BMI1, BMI2, F16C, FMA, LZCNT, and MOVBE. Setting a knob to `0` disables its whole group and everything layered on top of it. Setting it to `1` (the default for most) allows the group, but the hardware must still actually support it—enabling a knob the current CPU lacks is ignored, so you can only ever narrow what's used, never force an unsupported instruction on and break yourself. `DOTNET_EnableHWIntrinsic=0` is the big hammer—it turns off everything down to the base, so `Vector128`, `Vector64`, and `Vector` all report no acceleration and the code falls to its software path. + +> [!IMPORTANT] +> These are diagnostic tools, meant primarily for testing and validation—exercising each code path, reproducing a hardware-specific issue, or confirming a fallback. They aren't designed for general or production use, and they aren't a stability contract. The following set is what .NET 11 recognizes; earlier releases exposed a different set—the baseline and AVX-512 knobs in particular were reconfigured—so confirm the names against the runtime version you target. +> +> These tools also have limits on what they reach. Because they gate JIT decisions, they don't affect code that was already compiled ahead of time through ReadyToRun or Native AOT, and they don't necessarily affect internal routines the runtime and core libraries use themselves. Treat them as a way to steer your own JIT-compiled code, not a global off switch for an instruction set. + +The base switch and the width caps apply on every architecture: + +| Knob (`DOTNET_` prefix) | Default | Effect | +| --- | --- | --- | +| `EnableHWIntrinsic` | `1` | Master switch for all hardware intrinsics; `0` forces the fully software path. | +| `MaxVectorTBitWidth` | system default | Caps `Vector` to a maximum width in bits; a value below 128 means the system default. | +| `PreferredVectorBitWidth` | system default | Caps the maximum fixed-width vector that reports `IsHardwareAccelerated`, in bits; a value below 128 means the system default. | + +The system default for `MaxVectorTBitWidth` can be narrower than the hardware fully supports, so `Vector` doesn't automatically grow to the widest available vector. For example, `Vector512.IsHardwareAccelerated` can be `true` while `Vector` stays 256-bit; set `DOTNET_MaxVectorTBitWidth=512` to opt `Vector` into the wider width. -The gives the ability to use longer vectors. The count of a instance is fixed, but its value depends on the CPU of the machine running the code. +`PreferredVectorBitWidth` caps the maximum vector width that reports `IsHardwareAccelerated`. Lowering it below what the hardware supports flips the wider widths off: on a machine that supports 512-bit vectors, `DOTNET_PreferredVectorBitWidth=256` makes `Vector512.IsHardwareAccelerated` report `false`. It's a general knob, but only x86/x64 offers widths above 128 today, so that's the only place it has an observable effect. -The following example demonstrates how to calculate the element-wise sum of two arrays using . +Each logical grouping of x86/x64 instruction sets also has its own switch: -```csharp -double[] Sum(double[] left, double[] right) -{ - if (left is null) - { - throw new ArgumentNullException(nameof(left)); - } +| Knob (`DOTNET_` prefix) | Default | Gates | +| --- | --- | --- | +| `EnableAVX` | `1` | AVX and dependents | +| `EnableAVX2` | `1` | AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, and dependents | +| `EnableAVX512` | `1` | AVX-512 F+BW+CD+DQ+VL and dependents | +| `EnableAVX512BMM` | `1` | AVX-512 BMM | +| `EnableAVX512v2` | `1` | AVX-512 IFMA+VBMI | +| `EnableAVX512v3` | `1` | AVX-512 BITALG+VBMI2+VPOPCNTDQ+VNNI | +| `EnableAVX10v1` | `1` | AVX10.1 | +| `EnableAVX10v2` | `0` | AVX10.2 | +| `EnableAPX` | `0` | APX (extended general-purpose registers) | +| `EnableAES` | `1` | AES, PCLMULQDQ | +| `EnableAVX512VP2INTERSECT` | `1` | AVX-512 VP2INTERSECT | +| `EnableAVXIFMA` | `1` | AVX-IFMA | +| `EnableAVXVNNI` | `1` | AVX-VNNI | +| `EnableAVXVNNIINT` | `1` | VEX AVX-VNNI-INT8 and AVX-VNNI-INT16 | +| `EnableGFNI` | `1` | GFNI | +| `EnableSHA` | `1` | SHA | +| `EnableVAES` | `1` | VAES, VPCLMULQDQ | +| `EnableWAITPKG` | `1` | WAITPKG | +| `EnableX86Serialize` | `1` | X86 SERIALIZE | - if (right is null) - { - throw new ArgumentNullException(nameof(right)); - } +On Arm64, each logical grouping of instruction sets has its own switch: - if (left.Length != right.Length) - { - throw new ArgumentException($"{nameof(left)} and {nameof(right)} are not the same length"); - } +| Knob (`DOTNET_` prefix) | Default | Gates | +| --- | --- | --- | +| `EnableArm64Aes` | `1` | AES | +| `EnableArm64Atomics` | `1` | Large System Extensions (LSE) atomics | +| `EnableArm64Crc32` | `1` | CRC32 | +| `EnableArm64Dczva` | `1` | `DC ZVA` cache-zeroing | +| `EnableArm64Dp` | `1` | Dot Product | +| `EnableArm64Rdm` | `1` | Rounding Doubling Multiply Accumulate (RDM) | +| `EnableArm64Sha1` | `1` | SHA1 | +| `EnableArm64Sha256` | `1` | SHA256 | +| `EnableArm64Rcpc` | `1` | Release-Consistent, processor-consistent ordering (RCpc) | +| `EnableArm64Rcpc2` | `1` | RCpc2 | +| `EnableArm64Cssc` | `0` | Common Short Sequence Compression (CSSC) | +| `EnableArm64Sve` | `1` | Scalable Vector Extension (SVE) | +| `EnableArm64Sve2` | `1` | SVE2 | +| `EnableArm64Sha3` | `1` | SHA3 | +| `EnableArm64Sm4` | `1` | SM4 | +| `EnableArm64SveAes` | `1` | SVE AES | +| `EnableArm64SveSha3` | `1` | SVE SHA3 | +| `EnableArm64SveSm4` | `1` | SVE SM4 | - int length = left.Length; - double[] result = new double[length]; +A knob defaulting to `0` (for example, `EnableAVX10v2` or `EnableArm64Cssc`) gates an instruction set that's still coming online, so it stays off until you opt in. - // Get the number of elements that can't be processed in the vector - // NOTE: Vector.Count is a JIT time constant and will get optimized accordingly - int remaining = length % Vector.Count; +## Benchmark to confirm the win - for (int i = 0; i < length - remaining; i += Vector.Count) - { - var v1 = new Vector(left, i); - var v2 = new Vector(right, i); - (v1 + v2).CopyTo(result, i); - } +Vectorization adds complexity, so measure that it pays off before you keep it. Use [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet), and use the same environment variables shown previously to compare the scalar, `Vector128`, and `Vector256` implementations in one run. BenchmarkDotNet's disassembly diagnoser can also emit the generated assembly, which is invaluable when tuning high-performance code. - for (int i = length - remaining; i < length; i++) - { - result[i] = left[i] + right[i]; - } +A few things to keep in mind: - return result; -} -``` +- **Larger inputs benefit more.** For small buffers, vectorized code can be slower than scalar code because of setup overhead. Benchmark the input sizes your callers actually use. +- **Speedups are rarely perfect.** A 256-bit vector operating on 32-bit elements won't reliably be 8x faster; memory throughput, alignment, and instruction latency all factor in. +- **Memory alignment affects stability.** Randomized allocation alignment adds noise between runs. You can allocate aligned memory with for stable results, or enable BenchmarkDotNet's memory randomization to observe the full distribution. -## Remarks +## Best practices -SIMD is more likely to remove one bottleneck and expose the next, for example memory throughput. In general the performance benefit of using SIMD varies depending on the specific scenario, and in some cases it can even perform worse than simpler non-SIMD equivalent code. +- Reach for the existing higher-level APIs first. `Span`, `string`, LINQ, `TensorPrimitives`, and the tensor types already accelerate many common operations for you—don't hand-roll what's already optimized and tested. +- Start with `Vector128`; it's accelerated on the broadest set of hardware, and you don't need `Vector256` to get a correct, portable implementation. Add wider widths and hardware intrinsics only for measured hot paths. +- Check `IsHardwareAccelerated` and `Count` directly instead of caching them; the JIT turns them into constants. +- Always handle the loop remainder, and account for overlapping source and destination buffers when storing. +- Write edge-case tests first, then a scalar solution, then express that scalar logic with the vector APIs. +- Test every code path (including access violations) and benchmark realistic input sizes before you commit to the added complexity. + +## See also + +- +- diff --git a/docs/standard/snippets/simd/csharp/AdvancedVectorization.cs b/docs/standard/snippets/simd/csharp/AdvancedVectorization.cs new file mode 100644 index 0000000000000..d20fca1999826 --- /dev/null +++ b/docs/standard/snippets/simd/csharp/AdvancedVectorization.cs @@ -0,0 +1,271 @@ +using System.Diagnostics; +using System.Numerics; +using System.Runtime.Intrinsics; + +namespace SimdSnippets; + +public static class AdvancedVectorization +{ + // + // Sums a buffer, choosing the widest vector the hardware and element type support. + public static T Sum(ReadOnlySpan buffer) + where T : unmanaged, INumberBase + { + // The widest-first order continues with the Vector512 and Vector256 paths, which belong + // here ahead of the Vector128 block below. They're identical to it aside from the wider + // type (for example, Vector512 with Vector512.Create and Vector512.Sum), so they're + // omitted for brevity: + // + // if (Vector512.IsHardwareAccelerated && Vector512.IsSupported) + // { + // if (buffer.Length >= Vector512.Count) + // { + // return SumVector512(buffer); + // } + // return SumVectorSmall(buffer); + // } + // + // if (Vector256.IsHardwareAccelerated && Vector256.IsSupported) + // { + // if (buffer.Length >= Vector256.Count) + // { + // return SumVector256(buffer); + // } + // return SumVectorSmall(buffer); + // } + + if (Vector128.IsHardwareAccelerated && Vector128.IsSupported) + { + if (buffer.Length >= Vector128.Count) + { + return SumVector128(buffer); + } + return SumVectorSmall(buffer); + } + + return SumScalar(buffer); + } + // + + private static T SumScalar(ReadOnlySpan buffer) + where T : unmanaged, INumberBase + { + T result = T.Zero; + foreach (T value in buffer) + { + result += value; + } + return result; + } + + // + // Sums a buffer smaller than the widest vector. The complete "optimal" shape dispatches on the + // element width so each width uses a switch jump table sized to the number of elements that fit + // in the widest vector (63 for byte, 31 for short, 15 for int/float, 7 for long/double). + private static T SumVectorSmall(ReadOnlySpan buffer) + where T : unmanaged, INumberBase + { + // sizeof(T) is a JIT constant, so only the matching branch survives for a given T. + if (sizeof(T) == 4) + { + return SumVectorSmall4(buffer); + } + + // The 1-, 2-, and 8-byte tables share the shape below, sized for their element width. + // They're omitted for brevity, so those widths fall back to a scalar loop here: + // + // if (sizeof(T) == 1) return SumVectorSmall1(buffer); // switch over lengths 0..63 + // if (sizeof(T) == 2) return SumVectorSmall2(buffer); // switch over lengths 0..31 + // if (sizeof(T) == 8) return SumVectorSmall8(buffer); // switch over lengths 0..7 + return SumScalar(buffer); + } + + private static T SumVectorSmall4(ReadOnlySpan buffer) + where T : unmanaged, INumberBase + { + Debug.Assert(sizeof(T) == 4); + Debug.Assert(buffer.Length < Vector512.Count); + + T result = T.Zero; + + // A 4-byte element gives Count == 4/8/16 for Vector128/256/512, so a remainder can be up to + // 15 elements. The larger cases fold the leftover with the widest vector that fits, using two + // overlapping loads (one from the start, one from the end) rather than recursing—the shape + // TensorPrimitives uses. The loads overlap for lengths that aren't an exact multiple of the + // width, so the tail is masked down to the additive identity before it's summed. That mask is + // only needed because addition is non-idempotent; an idempotent operation such as a search + // could fold the overlapping tail in directly. + switch (buffer.Length) + { + // One or two Vector256's worth of data. + case 15: + case 14: + case 13: + case 12: + case 11: + case 10: + case 9: + case 8: + { + Vector256 beg = Vector256.Create(buffer); + Vector256 end = Vector256.Create(buffer.Slice(buffer.Length - Vector256.Count)); + + Vector256 msk = CreateRemainderMask256(buffer.Length - Vector256.Count); + end = Vector256.ConditionalSelect(msk, end, Vector256.Zero); + + result = Vector256.Sum(beg + end); + break; + } + + // One or two Vector128's worth of data. + case 7: + case 6: + case 5: + case 4: + { + Vector128 beg = Vector128.Create(buffer); + Vector128 end = Vector128.Create(buffer.Slice(buffer.Length - Vector128.Count)); + + Vector128 msk = CreateRemainderMask128(buffer.Length - Vector128.Count); + end = Vector128.ConditionalSelect(msk, end, Vector128.Zero); + + result = Vector128.Sum(beg + end); + break; + } + + // Smaller than a single vector: each case falls through to the next, accumulating one + // element per label. + case 3: + { + result += buffer[2]; + goto case 2; + } + + case 2: + { + result += buffer[1]; + goto case 1; + } + + case 1: + { + result += buffer[0]; + goto case 0; + } + + case 0: + { + break; + } + } + + return result; + } + + // Builds a mask whose last `keepLast` lanes are all-bits-set and the rest zero, so an overlapping + // tail load can be folded in without double-counting the lanes the head already covered. + // TensorPrimitives uses an internal table-based helper. The mask is only a bit pattern keyed on + // lane width, so it's built with the same-width integer Indices ([0, 1, 2, ...]) and reinterpreted + // to T: integer comparisons are cheaper than floating-point ones, so a float/double table would + // still compare as int/long rather than in its own element type. + private static Vector256 CreateRemainderMask256(int keepLast) + where T : unmanaged, INumberBase + { + Debug.Assert(sizeof(T) == 4); + + Vector256 firstKept = Vector256.Create(Vector256.Count - keepLast); + return Vector256.GreaterThanOrEqual(Vector256.Indices, firstKept).As(); + } + + private static Vector128 CreateRemainderMask128(int keepLast) + where T : unmanaged, INumberBase + { + Debug.Assert(sizeof(T) == 4); + + Vector128 firstKept = Vector128.Create(Vector128.Count - keepLast); + return Vector128.GreaterThanOrEqual(Vector128.Indices, firstKept).As(); + } + // + + // + // Sums a buffer with an unrolled vector loop plus a masked, jump-table remainder. + private static T SumVector128(ReadOnlySpan buffer) + where T : unmanaged, INumberBase + { + Debug.Assert(Vector128.IsHardwareAccelerated && Vector128.IsSupported); + Debug.Assert(buffer.Length >= Vector128.Count); + + // Preload the last full vector, overlapping the tail. Any sub-vector remainder is folded in + // from here (masked) by case 0 of the switch below, so the loop never falls out to a separate + // scalar tail—the same shape TensorPrimitives uses. + Vector128 end = Vector128.Create(buffer.Slice(buffer.Length - Vector128.Count)); + + // A production implementation would also align the buffer to a vector boundary and, for + // very large inputs, use non-temporal loads/stores so the data doesn't evict useful + // cache lines. Both are omitted here; see TensorPrimitives for a complete treatment. + + Vector128 sum = Vector128.Zero; + + // Only pay for the four independent accumulators when there's enough data to unroll; + // smaller payloads skip straight to the remainder below. Four vectors per iteration lets + // the accumulators pipeline; Vector128.Create reads the first Vector128.Count elements. + if (buffer.Length >= Vector128.Count * 4) + { + Vector128 sum0 = Vector128.Zero; + Vector128 sum1 = Vector128.Zero; + Vector128 sum2 = Vector128.Zero; + Vector128 sum3 = Vector128.Zero; + + do + { + sum0 += Vector128.Create(buffer); + sum1 += Vector128.Create(buffer.Slice(Vector128.Count)); + sum2 += Vector128.Create(buffer.Slice(Vector128.Count * 2)); + sum3 += Vector128.Create(buffer.Slice(Vector128.Count * 3)); + + buffer = buffer.Slice(Vector128.Count * 4); + } + while (buffer.Length >= Vector128.Count * 4); + + // Combine pairwise so the two independent adds can pipeline. + sum = (sum0 + sum1) + (sum2 + sum3); + } + + // Split the remainder into its full vectors and a sub-vector tail. The full vectors fall + // through the jump table; the tail lands in case 0, where the preloaded end is masked so only + // the trailing elements the full vectors didn't already cover are added. + (int blocks, int trailing) = Math.DivRem(buffer.Length, Vector128.Count); + + switch (blocks) + { + case 3: + { + sum += Vector128.Create(buffer.Slice(Vector128.Count * 2)); + goto case 2; + } + + case 2: + { + sum += Vector128.Create(buffer.Slice(Vector128.Count)); + goto case 1; + } + + case 1: + { + sum += Vector128.Create(buffer); + goto case 0; + } + + case 0: + { + Vector128 msk = CreateRemainderMask128(trailing); + sum += Vector128.ConditionalSelect(msk, end, Vector128.Zero); + break; + } + } + + // Horizontally add the lanes into a single scalar. + return Vector128.Sum(sum); + } + // +} diff --git a/docs/standard/snippets/simd/csharp/HardwareIntrinsicsExample.cs b/docs/standard/snippets/simd/csharp/HardwareIntrinsicsExample.cs new file mode 100644 index 0000000000000..743c0bea5652f --- /dev/null +++ b/docs/standard/snippets/simd/csharp/HardwareIntrinsicsExample.cs @@ -0,0 +1,38 @@ +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.Arm; +using System.Runtime.Intrinsics.Wasm; +using System.Runtime.Intrinsics.X86; + +namespace SimdSnippets; + +public static class HardwareIntrinsicsExample +{ + // + // Illustrates per-platform lightup. The portable '(vector & mask) == Zero' below + // already lowers optimally, so prefer it unless a specific instruction measurably wins. + public static bool AllBitsClear(Vector128 vector, Vector128 mask) + { + if (Sse41.IsSupported) + { + // x86/x64: a single ptest instruction. + return Sse41.TestZ(vector, mask); + } + else if (AdvSimd.Arm64.IsSupported) + { + // Arm64: AND, then reduce the maximum byte across every lane. + Vector128 anded = AdvSimd.And(vector, mask); + return AdvSimd.Arm64.MaxAcross(anded).ToScalar() == 0; + } + else if (PackedSimd.IsSupported) + { + // WebAssembly: AND, then test whether any lane is non-zero. + return !PackedSimd.AnyTrue(PackedSimd.And(vector, mask)); + } + else + { + // Portable fallback for any other platform. + return (vector & mask) == Vector128.Zero; + } + } + // +} diff --git a/docs/standard/snippets/simd/csharp/NumericsExamples.cs b/docs/standard/snippets/simd/csharp/NumericsExamples.cs new file mode 100644 index 0000000000000..dbe67213b0af3 --- /dev/null +++ b/docs/standard/snippets/simd/csharp/NumericsExamples.cs @@ -0,0 +1,74 @@ +using System.Numerics; + +namespace SimdSnippets; + +public static class NumericsExamples +{ + public static void SimpleVectors() + { + // + Vector2 v1 = Vector2.Create(0.1f, 0.2f); + Vector2 v2 = Vector2.Create(1.1f, 2.2f); + Vector2 sum = v1 + v2; + // + + // + float dot = Vector2.Dot(v1, v2); + float distance = Vector2.Distance(v1, v2); + Vector2 clamped = Vector2.Clamp(v1, Vector2.Zero, Vector2.One); + // + + Console.WriteLine($"sum={sum}, dot={dot}, distance={distance}, clamped={clamped}"); + } + + public static void Matrices() + { + // + Matrix4x4 m1 = Matrix4x4.Create( + 1.1f, 1.2f, 1.3f, 1.4f, + 2.1f, 2.2f, 3.3f, 4.4f, + 3.1f, 3.2f, 3.3f, 3.4f, + 4.1f, 4.2f, 4.3f, 4.4f); + + Matrix4x4 m2 = Matrix4x4.Transpose(m1); + Matrix4x4 product = Matrix4x4.Multiply(m1, m2); + // + + Console.WriteLine($"product.M11={product.M11}"); + } + + // + // Illustrative: element-wise add with Vector. In practice, prefer the already-accelerated + // TensorPrimitives.Add, which is optimized for every Vector.IsSupported element type. + public static double[] Add(double[] left, double[] right) + { + ArgumentNullException.ThrowIfNull(left); + ArgumentNullException.ThrowIfNull(right); + ArgumentOutOfRangeException.ThrowIfNotEqual(right.Length, left.Length); + + double[] result = new double[left.Length]; + + int i = 0; + + // Vector.Count is a JIT-time constant, so the compiler optimizes the loop bound. + int lastVectorStart = left.Length - Vector.Count; + + for (; i <= lastVectorStart; i += Vector.Count) + { + Vector v1 = Vector.Create(left.AsSpan(i)); + Vector v2 = Vector.Create(right.AsSpan(i)); + (v1 + v2).CopyTo(result, i); + } + + // Process any remaining elements that don't fill a full vector. + // Simplified for illustration: a scalar tail isn't optimal. A vectorized + // remainder that reprocesses the last full vector avoids the per-element loop. + for (; i < left.Length; i++) + { + result[i] = left[i] + right[i]; + } + + return result; + } + // +} diff --git a/docs/standard/snippets/simd/csharp/Program.cs b/docs/standard/snippets/simd/csharp/Program.cs new file mode 100644 index 0000000000000..be7aeb320342f --- /dev/null +++ b/docs/standard/snippets/simd/csharp/Program.cs @@ -0,0 +1,51 @@ +using System.Numerics; +using System.Linq; +using System.Runtime.Intrinsics; +using SimdSnippets; + +// Verification runner. Not part of the published snippets. + +Console.WriteLine($"Vector.IsHardwareAccelerated: {Vector.IsHardwareAccelerated}"); +Console.WriteLine($"Vector128.IsHardwareAccelerated: {Vector128.IsHardwareAccelerated}"); +Console.WriteLine($"Vector256.IsHardwareAccelerated: {Vector256.IsHardwareAccelerated}"); +Console.WriteLine($"Vector512.IsHardwareAccelerated: {Vector512.IsHardwareAccelerated}"); +Console.WriteLine($"Vector.Count: {Vector.Count}"); +Console.WriteLine(); + +NumericsExamples.SimpleVectors(); +NumericsExamples.Matrices(); + +double[] left = [1, 2, 3, 4, 5, 6, 7]; +double[] right = [10, 20, 30, 40, 50, 60, 70]; +Console.WriteLine($"Vector Add: [{string.Join(", ", NumericsExamples.Add(left, right))}]"); +Console.WriteLine(); + +int[] numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; +double[] reals = [1.5, 2.5, 3.0, 4.0, 5.0]; +Console.WriteLine($"Sum(1..10) = {AdvancedVectorization.Sum(numbers)}"); +Console.WriteLine($"Sum(reals) = {AdvancedVectorization.Sum(reals)}"); +Console.WriteLine($"Sum(small) = {AdvancedVectorization.Sum(new int[] { 1, 2, 3 })}"); +Console.WriteLine($"Sum(1..37) = {AdvancedVectorization.Sum(Enumerable.Range(1, 37).ToArray())}"); +Console.WriteLine($"Contains(7) = {SimpleVectorization.Contains(numbers, 7)}"); +Console.WriteLine($"Contains(42) = {SimpleVectorization.Contains(numbers, 42)}"); +Console.WriteLine($"Contains(small,2) = {SimpleVectorization.Contains(new int[] { 1, 2, 3 }, 2)}"); +Console.WriteLine($"Contains(small,9) = {SimpleVectorization.Contains(new int[] { 1, 2, 3 }, 9)}"); +Console.WriteLine($"Contains(empty) = {SimpleVectorization.Contains(Array.Empty(), 1)}"); +Console.WriteLine(); + +byte[] ascii = "Hello, SIMD!"u8.ToArray(); +byte[] notAscii = [0x48, 0x65, 0xFF, 0x6C]; +Console.WriteLine($"IsAscii(ascii) = {SimpleVectorization.IsAscii(ascii)}"); +Console.WriteLine($"IsAscii(notAscii) = {SimpleVectorization.IsAscii(notAscii)}"); +Console.WriteLine(); + +Vector128 highBits = Vector128.Create(0b_1000_0000); +Console.WriteLine($"AllBitsClear(zero, highBits) = {HardwareIntrinsicsExample.AllBitsClear(Vector128.Zero, highBits)}"); +Console.WriteLine($"AllBitsClear(0xFF.., highBits) = {HardwareIntrinsicsExample.AllBitsClear(Vector128.AllBitsSet, highBits)}"); +Console.WriteLine(); + +float[] a = [1, 2, 3, 4]; +float[] b = [5, 6, 7, 8]; +float[] c = [1, 1, 1, 1]; +Console.WriteLine($"MultiplyAdd = [{string.Join(", ", TensorPrimitivesExample.MultiplyAdd(a, b, c))}]"); +Console.WriteLine($"CosineSimilarity(a, a) = {TensorPrimitivesExample.CosineSimilarity(a, a)}"); diff --git a/docs/standard/snippets/simd/csharp/SimdSnippets.csproj b/docs/standard/snippets/simd/csharp/SimdSnippets.csproj new file mode 100644 index 0000000000000..4df2fd22f5768 --- /dev/null +++ b/docs/standard/snippets/simd/csharp/SimdSnippets.csproj @@ -0,0 +1,15 @@ + + + + Exe + net11.0 + enable + enable + preview + + + + + + + diff --git a/docs/standard/snippets/simd/csharp/SimpleVectorization.cs b/docs/standard/snippets/simd/csharp/SimpleVectorization.cs new file mode 100644 index 0000000000000..8696c076d72c3 --- /dev/null +++ b/docs/standard/snippets/simd/csharp/SimpleVectorization.cs @@ -0,0 +1,87 @@ +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; + +namespace SimdSnippets; + +public static class SimpleVectorization +{ + // + // Idempotent search that re-processes the final vector instead of a scalar loop. + public static bool Contains(ReadOnlySpan buffer, int searched) + { + Debug.Assert(Vector128.IsHardwareAccelerated); + + Vector128 values = Vector128.Create(searched); + ReadOnlySpan remaining = buffer; + + while (remaining.Length >= Vector128.Count) + { + if (Vector128.EqualsAny(Vector128.Create(remaining), values)) + { + return true; + } + remaining = remaining.Slice(Vector128.Count); + } + + if (remaining.IsEmpty) + { + return false; + } + + // A partial vector remains. When the buffer holds at least one full vector, + // re-check the last one (overlapping the tail); otherwise scan the few elements directly. + if (buffer.Length >= Vector128.Count) + { + Vector128 tail = Vector128.Create(buffer.Slice(buffer.Length - Vector128.Count)); + return Vector128.EqualsAny(tail, values); + } + + foreach (int value in remaining) + { + if (value == searched) + { + return true; + } + } + + return false; + } + // + + public static bool IsValidAscii(byte value) => (value & 0b1000_0000) == 0; + + // Returns true when every byte in the vector is a valid ASCII value (0-127). + // Anding with the high bit and comparing to zero avoids a movemask extraction. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IsValidAscii(Vector128 vector) => + (vector & Vector128.Create(0b1000_0000)) == Vector128.Zero; + + public static bool IsAscii(ReadOnlySpan buffer) + { + ReadOnlySpan remaining = buffer; + + if (Vector128.IsHardwareAccelerated) + { + while (remaining.Length >= Vector128.Count) + { + if (!IsValidAscii(Vector128.Create(remaining))) + { + return false; + } + remaining = remaining.Slice(Vector128.Count); + } + } + + // Scalar path handles the remainder and short or non-accelerated inputs. + foreach (byte value in remaining) + { + if (!IsValidAscii(value)) + { + return false; + } + } + + return true; + } +} diff --git a/docs/standard/snippets/simd/csharp/TensorPrimitivesExample.cs b/docs/standard/snippets/simd/csharp/TensorPrimitivesExample.cs new file mode 100644 index 0000000000000..b3c3e34b45f17 --- /dev/null +++ b/docs/standard/snippets/simd/csharp/TensorPrimitivesExample.cs @@ -0,0 +1,23 @@ +using System.Numerics.Tensors; + +namespace SimdSnippets; + +public static class TensorPrimitivesExample +{ + // + // Computes result = (left * right) + addend over the whole span, vectorized internally. + public static float[] MultiplyAdd(float[] left, float[] right, float[] addend) + { + float[] result = new float[left.Length]; + + TensorPrimitives.Multiply(left, right, result); + TensorPrimitives.Add(result, addend, result); + + return result; + } + + // Higher-level reductions are available too. + public static float CosineSimilarity(float[] left, float[] right) => + TensorPrimitives.CosineSimilarity(left, right); + // +} From 95d7525c56e68811e0fa0d702c3ec0554ed88b32 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Mon, 20 Jul 2026 17:48:56 -0400 Subject: [PATCH 049/120] [Everyday C#] Phase E, PR 14a: Statements: collections + LINQ (#54807) * Add Fundamentals collections and LINQ articles (Everyday C# PR 14a) Phase E, PR 14a. Adds two example-heavy Fundamentals concept articles under fundamentals/statements/ with compiling net10.0 snippet projects: - collections.md: arrays, List, Dictionary, adding/ removing/searching elements, collection expressions (C# 12), indexes and ranges (C# 8). - linq.md: query syntax, method syntax, filter/map/reduce/sort/group, lambda expressions, deferred vs eager evaluation. Adds Collections and LINQ entries to the Expressions and statements TOC node. Advanced topics (providers, IQueryable, expression trees, PLINQ, performance, custom collections/operators) are intentionally left to the Language Reference and LINQ sections and linked out. Closes #53556 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7f9f7f68-82b8-43d2-a511-1a4f07138403 * Fix duplicate H1 and blank-line lint in PR 14a articles Rename collections.md H1/title to "Arrays, lists, and dictionaries" to resolve the duplicate-H1 build warning, and collapse multiple-blank-line runs (MD012) in both statements articles. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7f9f7f68-82b8-43d2-a511-1a4f07138403 * Rename collections article H1/title to Common collection types Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7f9f7f68-82b8-43d2-a511-1a4f07138403 * 2nd pass edits This is looking a little better. * Second edit pass. * Final proofread * Respond to feedback. Respond to review feedback. * Address second-round review: restore collection-expression link; fix LINQ cross-reference wording Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address review consistency: stop calling the linked LINQ article a 'section' Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../fundamentals/statements/collections.md | 97 +++++ docs/csharp/fundamentals/statements/linq.md | 120 ++++++ .../collections-statements/Program.cs | 247 +++++++++++++ .../collections-statements.csproj | 9 + .../snippets/linq-statements/Program.cs | 345 ++++++++++++++++++ .../linq-statements/linq-statements.csproj | 9 + docs/csharp/toc.yml | 4 + 7 files changed, 831 insertions(+) create mode 100644 docs/csharp/fundamentals/statements/collections.md create mode 100644 docs/csharp/fundamentals/statements/linq.md create mode 100644 docs/csharp/fundamentals/statements/snippets/collections-statements/Program.cs create mode 100644 docs/csharp/fundamentals/statements/snippets/collections-statements/collections-statements.csproj create mode 100644 docs/csharp/fundamentals/statements/snippets/linq-statements/Program.cs create mode 100644 docs/csharp/fundamentals/statements/snippets/linq-statements/linq-statements.csproj diff --git a/docs/csharp/fundamentals/statements/collections.md b/docs/csharp/fundamentals/statements/collections.md new file mode 100644 index 0000000000000..8c7ab426451f6 --- /dev/null +++ b/docs/csharp/fundamentals/statements/collections.md @@ -0,0 +1,97 @@ +--- +title: "Common collection types in C#" +description: Store, update, search, and read groups of values by using arrays, lists, dictionaries, collection expressions, indexes, and ranges. +ms.date: 07/15/2026 +ms.topic: concept-article +ai-usage: ai-assisted +--- + +# Common collection types + +> [!TIP] +> This article is part of the **Fundamentals** section for developers who already know at least one programming language and are learning C#. If you're new to programming, start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. For more information about collections, see [Collections](../../language-reference/builtin-types/collections.md) in the language reference. For more information about arrays, see [The array reference type](../../language-reference/builtin-types/arrays.md) in the language reference. For more information about collection expressions, see [Collection expressions (Collection literals)](../../language-reference/operators/collection-expressions.md) in the language reference. +> +> **Coming from another language?** C# arrays are fixed-size ordered collections, like arrays in Java or C++. is the everyday growable sequence, like Java's `ArrayList`, JavaScript's arrays, or Python's lists. stores values by key, like maps or dictionaries in many languages. + +A *collection* is an object that stores multiple related values. Each value in a collection is an *element*. Choose an array when the set is fixed, such as the status names your work-item tracker always uses. Choose a when items come and go, such as a backlog that gains new work and drops completed items. Choose a when you look up values by a key, such as finding a work item by ID or a setting by name. The next section turns those examples into a quick decision model. + +## Choose a collection shape + +Choose the collection that matches how your code uses the data. A *sequence* stores elements in order so you can reach them by position. Use an *array*, which is represented by , when you know the number of positions the sequence needs. An array's length can't change after you create it, but you can replace the element stored at an existing position. Use when you need a sequence that can add or remove elements. A *dictionary* stores values that you reach by key instead of by position. Use when each element has a lookup key, such as a name, ID, or code. The examples use a *collection expression*, which creates a collection from expressions between square brackets. The [Create collections with collection expressions](#create-collections-with-collection-expressions) section explains that syntax in more detail. + +:::code language="csharp" source="./snippets/collections-statements/Program.cs" id="ChooseCollection"::: + + and are *generic types*. A generic type uses a type argument, such as `string` or `int`, to say what kind of values it stores. Generics let you reuse the same collection shape, such as a list or dictionary, with different element types, such as `string`, `int`, or a custom type. They also provide *type safety*: the compiler guarantees every element is the declared type, so you don't need casts and can't accidentally store the wrong type. For more information about generic types, see [Generic types and methods](../types/generics.md) in the fundamentals. + +## Store fixed-size data in arrays + +An array is an ordered collection with a fixed length. You access an array element by its *index*, which is its zero-based position in the array. Index `0` is the first element, index `1` is the second element, and so on. + +:::code language="csharp" source="./snippets/collections-statements/Program.cs" id="Arrays"::: + +Use `foreach` when you want to read every element in order. Use an index when the position matters, such as when you need the first element, the last element, or the position returned by . + +The length of an array is fixed, but the elements in that array can change. Assign a new value to an existing index when the position stays the same but the stored value needs an update: + +:::code language="csharp" source="./snippets/collections-statements/Program.cs" id="ArrayElementUpdate"::: + +## Grow and shrink a sequence with `List` + +A stores elements in order and can grow or shrink as your program runs. Use to append an element, to remove a matching element, to test whether an element exists, and to find an element's position. Use the list indexer to replace the value at an existing position. + +:::code language="csharp" source="./snippets/collections-statements/Program.cs" id="ListChanges"::: + +A keeps the remaining elements in order when you add or remove items. When you remove an element, later elements move to lower indexes. + +Use to add one element at a specific position, to add several elements at a position, and to remove an element by index: + +:::code language="csharp" source="./snippets/collections-statements/Program.cs" id="ListInsertRemove"::: + +Adding or removing at the end of a is fast. Adding with is an O(1) operation on average, and removing the last element with is O(1). Inserting or removing at the front or middle is O(n) because every later element shifts to a new index. If your code frequently inserts or removes at the front, a might be the wrong collection shape. + +> [!TIP] +> Big-O notation describes how the work grows as the collection size, `n`, grows. O(1), pronounced "order one," means the operation takes about the same amount of work no matter how many elements the collection contains. O(n), pronounced "order n," means the work grows roughly in proportion to the number of elements in the collection. + +## Associate a value by key with `Dictionary` + +A stores key/value pairs. A *key/value pair* is one key and the value associated with that key; .NET represents one pair with . Use the dictionary indexer to add or update a value by key, and use when the key might not exist. + +:::code language="csharp" source="./snippets/collections-statements/Program.cs" id="DictionaryLookup"::: + +An *indexer* lets you use bracket syntax to access a value from an object. The dictionary indexer is useful when the key must exist or when you're assigning a value. checks whether a key exists and gives you the value when it does. For more information about the indexer operator, see [Member access operators](../../language-reference/operators/member-access-operators.md#indexer-operator-) in the language reference. + +You can also change the value associated with a key that already exists. Assign through the indexer to add a key or replace the value for an existing key. If the replacement depends on the current value, read the value first, then assign the new value: + +:::code language="csharp" source="./snippets/collections-statements/Program.cs" id="DictionaryUpdates"::: + +## Create collections with collection expressions + +A *collection expression* creates a collection from expressions between square brackets. Beginning with C# 12, collection expressions can create arrays, lists, and other collection types. A *spread element* copies the elements from another collection into the new collection. + +:::code language="csharp" source="./snippets/collections-statements/Program.cs" id="CollectionExpressions"::: + +Collection expressions keep initialization concise. A collection expression has no type of its own. The compiler converts the expression into the collection shape the context calls for. The receiving variable or parameter can turn it into an array, a , or other supported collection type. + +## Read from positions with indexes and ranges + +Indexes answer "which single element?" Ranges answer "which contiguous slice?" Use indexes when your code needs one element and ranges when the subsection is part of the data you're working with. Arrays and `List` support both indexes and ranges. + +An can count from the start or from the end of a sequence. Use the number directly to count from the start: `phases[0]` reads the first element, and `phases[1]` reads the second element. Use `^` to count from the end: `phases[^1]` reads the last element, and `phases[^2]` reads the next-to-last element. + +An selects a slice with `..` (two dots). The range operator isn't the same as the spread element you saw earlier in collection expressions, even though both use dots. Use a range `a..b` when you want elements from index `a` up to, but ***not including***, index `b`. The expression `phases[1..3]` creates a new array that contains the elements at index `1` and index `2`. + +You can omit one or both range indexes. Omit the start index when the slice starts at the beginning, as in `phases[..2]` for the first two elements. Omit the end index when the slice continues through the last element, as in `phases[2..]` for the elements from index `2` to the end. Omit both indexes when you want a copy of the whole array, as in `phases[..]`. A range can mix index kinds. The expression `phases[1..^1]` combines a from-start index and a from-end index to return the middle elements, `code` and `test`. + +:::code language="csharp" source="./snippets/collections-statements/Program.cs" id="IndexesAndRanges"::: + +For more information about indexes and ranges, see [Explore ranges of data using indices and ranges](../../tutorials/ranges-indexes.md) in the tutorials. + +## See also + +- [Iteration statements](iteration.md) +- [LINQ queries](linq.md) +- [Collections](../../language-reference/builtin-types/collections.md) +- [Arrays](../../language-reference/builtin-types/arrays.md) +- [Collection expressions](../../language-reference/operators/collection-expressions.md) +- [Member access operators](../../language-reference/operators/member-access-operators.md) +- [Explore indexes and ranges](../../tutorials/ranges-indexes.md) diff --git a/docs/csharp/fundamentals/statements/linq.md b/docs/csharp/fundamentals/statements/linq.md new file mode 100644 index 0000000000000..bb62509640a51 --- /dev/null +++ b/docs/csharp/fundamentals/statements/linq.md @@ -0,0 +1,120 @@ +--- +title: "LINQ queries in C#" +description: Query collections with LINQ by using query syntax, method syntax, common operators, and lambda expressions. +ms.date: 07/15/2026 +ms.topic: concept-article +ai-usage: ai-assisted +--- + +# LINQ queries + +> [!TIP] +> This article is part of the **Fundamentals** section for developers who already know at least one programming language and are learning C#. If you're new to programming, start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. For more information about providers, operators, and advanced scenarios, see [Language Integrated Query (LINQ)](../../linq/index.md). +> +> **Coming from another language?** LINQ query syntax reads like a SQL-style query written inside C#. LINQ method syntax reads like chained collection operations in JavaScript, Java streams, or Python pipelines. Both forms describe the same query. + +*Language Integrated Query (LINQ)* is the C# feature set for querying data with C# syntax. Many LINQ operators use *deferred execution*: they describe the result first and read the data later, when your code asks for the results. A *query* describes which data to read and how to shape the result. A query reads from a *data source*. A data source can be an in-memory collection, such as an array or , or an external source, such as a database or XML, exposed through a LINQ provider. A *LINQ provider* is a library that connects LINQ syntax to a specific kind of data source. This article uses in-memory collections for its examples. A *sequence* is an ordered set of elements represented by . For more information about provider-based queries, see [Language Integrated Query (LINQ)](../../linq/index.md). + +## LINQ query expression syntax + +The examples in this article read in-memory collections such as arrays and . A query usually has three parts: specify the data source, describe the result, and enumerate the source to produce the result. To *enumerate* a sequence means to read its elements one at a time, often with `foreach`. + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="QuerySyntax"::: + +The query expression starts with `from` to name the data source and range variable. The `where` clause keeps only matching elements, `orderby` sorts them, and `select` shapes the result. + +## LINQ method syntax + +*Query syntax* uses clauses such as `from`, `where`, `orderby`, and `select`. *Method syntax* calls LINQ methods directly. For in-memory sequences, the standard LINQ methods are the built-in methods for filtering, projection, sorting, grouping, and related operations. + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="MethodSyntax"::: + +Method syntax is also called *fluent syntax* because each call returns a result that the next call can use. Many queries can use either form. Use the form that makes the query easiest to read. + +Query syntax often reads well when the query has several clauses. The `let` clause gives a name to an intermediate value before the query filters, sorts, and selects the final result: + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="QuerySyntaxClearer"::: + +Method syntax often reads well for short operations. It's necessary for methods that don't have query-syntax keyword. For example, returns one value directly: + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="MethodSyntaxClearer"::: + +## Lambda expressions and LINQ + +A *lambda expression* is an anonymous function that you can pass as an argument. LINQ method syntax commonly uses lambda expressions to say what each operator should do with each element. + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="LambdaExpressions"::: + +In `name => name.Length == 3`, `name` is the input element and `name.Length == 3` is the Boolean expression that decides whether the element belongs in the result. For more information about lambda expressions and delegate types, see [Lambda expressions, delegates, and events](../types/delegates-lambdas.md) in the fundamentals. + +Query-syntax clauses use lambda expressions too. Clauses such as `where`, `orderby`, and `select` compile to method calls that take lambda expressions. The range variable becomes the lambda parameter, and the clause expression becomes the lambda body. Query syntax is a concise way to write those same lambdas: + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="QuerySyntaxLambda"::: + +## Common LINQ methods + +The most common LINQ methods cover the everyday steps of a query: filter data, shape results, sort, group, and summarize. These methods are in the namespace and work with sequences such as . + +- keeps only the elements that match a condition. +- transforms each element into a new value. C# calls this operation a *projection*. +- sorts elements. +- creates groups of elements that share a key. +- Aggregation methods such as , , and produce a single value from all elements in the data source. + +> [!NOTE] +> If you know the traditional functional-programming terms, is a *filter*, is a *map* (C# calls it a projection), and aggregation methods such as , , and are a *reduce*. + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="CommonOperators"::: + +A *projection* creates a result value from each input element. In the previous example, the projection creates strings that combine a work item name and its priority. + +### Group related values + +Use when the result should contain groups of elements that share a key. Each group is represented by , which exposes the group key and the elements in that group. + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="GroupBy"::: + +Grouping is useful for summaries, reports, and menus. For more information about joins, nested groupings, and provider-specific behavior, see [Language Integrated Query (LINQ)](../../linq/index.md). + +## Run a query + +Many LINQ operators use *deferred execution*. Deferred execution means operators that return a sequence, such as , , and , don't run when you define them. They build the recipe for producing results. A `foreach` loop is one way to run that recipe: + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="DeferredExecution"::: + +Other operations run a query immediately. Operators that return a single value, such as , , , and , must read the elements when you call them so they can produce that value. + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="ImmediateExecution"::: + +There's no single trigger that runs a query. *Eager evaluation*, also called immediate evaluation, runs the query right away and stores or returns the result. Scalar and aggregate operators such as , , , and use eager evaluation. So do and when you need a snapshot of the current results. For more information about deferred execution, see [Introduction to LINQ Queries](../../linq/get-started/introduction-to-linq-queries.md) in the LINQ documentation. + +## Compose queries + +Real queries often grow from smaller decisions: start with a shared filter, add a sort for one screen, or apply an optional condition from user input. By composing queries, you can keep each step readable and reuse common parts instead of repeating one large query. + +Imagine an app that shows open work items in several places. One view needs all open items, and another view needs only the highest-priority open items. To *compose* a query, start with a base query stored in a variable, then build a more specific query from it. Because execution is deferred, each step describes more of the result. No work happens until you enumerate the final query. + +The following example stores the open work items in one query, then reuses that query to find the highest-priority open items: + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="ComposeQuerySyntax"::: + +You can also compose queries with method syntax. The next example starts with all open items, then conditionally adds another filter before it selects the titles: + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="ComposeMethodSyntax"::: + +Composition can use either or both *eager evaluation* and *deferred execution*. Materialize a shared intermediate result with or when you want that part to run once and stay fixed. Then build another deferred query from the cached results for the final output: + +:::code language="csharp" source="./snippets/linq-statements/Program.cs" id="ComposeWithCaching"::: + +## Explore LINQ in depth + +This article uses in-memory collections to teach LINQ syntax and core operators. For more information about LINQ operators and advanced scenarios, see [Language Integrated Query (LINQ)](../../linq/index.md). That article covers joins, XML, database providers, dynamic queries, and custom operators. + +## See also + +- [Collections](collections.md) +- [Introduction to LINQ queries](../../linq/get-started/introduction-to-linq-queries.md) +- [Write LINQ queries](../../linq/get-started/write-linq-queries.md) +- [Standard query operators](../../linq/standard-query-operators/index.md) +- [Lambda expressions](../../language-reference/operators/lambda-expressions.md) +- [LINQ and collections](../../linq/how-to-query-collections.md) diff --git a/docs/csharp/fundamentals/statements/snippets/collections-statements/Program.cs b/docs/csharp/fundamentals/statements/snippets/collections-statements/Program.cs new file mode 100644 index 0000000000000..2b304f5fd33a0 --- /dev/null +++ b/docs/csharp/fundamentals/statements/snippets/collections-statements/Program.cs @@ -0,0 +1,247 @@ +namespace CollectionStatements; + +public static class Program +{ + public static void Main() + { + ChooseCollectionExample(); + ArraysExample(); + ArrayElementUpdateExample(); + ListChangesExample(); + ListInsertRemoveExample(); + DictionaryLookupExample(); + DictionaryUpdatesExample(); + CollectionExpressionsExample(); + IndexesAndRangesExample(); + } + + private static void ChooseCollectionExample() + { + // + string[] sprintPlan = ["design", "code", "test"]; + List backlog = ["design", "code"]; + Dictionary priorities = new() + { + ["docs"] = 2, + ["tests"] = 1 + }; + + backlog.Add("test"); + + Console.WriteLine($"Array: {string.Join(", ", sprintPlan)}"); + Console.WriteLine($"List count: {backlog.Count}"); + Console.WriteLine($"Priority for docs: {priorities["docs"]}"); + // This example produces the following output: + // + // Array: design, code, test + // List count: 3 + // Priority for docs: 2 + // + // + } + + private static void ArraysExample() + { + // + string[] stages = ["design", "code", "test", "review"]; + + Console.WriteLine($"First: {stages[0]}"); + Console.WriteLine($"test index: {Array.IndexOf(stages, "test")}"); + // This example produces the following output: + // + // First: design + // test index: 2 + // + // + } + + private static void ArrayElementUpdateExample() + { + // + string[] stages = ["design", "code", "test"]; + + stages[0] = "plan"; + + Console.WriteLine(string.Join(", ", stages)); + Console.WriteLine($"Length: {stages.Length}"); + // This example produces the following output: + // + // plan, code, test + // Length: 3 + // + // + } + + private static void ListChangesExample() + { + // + List workItems = ["design", "code", "test"]; + + workItems.Add("review"); + workItems.Remove("code"); + workItems[1] = "verify"; + + Console.WriteLine(string.Join(", ", workItems)); + Console.WriteLine($"Has review: {workItems.Contains("review")}"); + Console.WriteLine($"Index of verify: {workItems.IndexOf("verify")}"); + // This example produces the following output: + // + // design, verify, review + // Has review: True + // Index of verify: 1 + // + // + } + + private static void ListInsertRemoveExample() + { + // + List workItems = ["design", "test"]; + + workItems.Insert(1, "code"); + Console.WriteLine($"Insert middle: {string.Join(", ", workItems)}"); + + workItems.Insert(0, "plan"); + Console.WriteLine($"Insert front: {string.Join(", ", workItems)}"); + + workItems.InsertRange(workItems.Count, ["review", "deploy"]); + Console.WriteLine($"Insert range at end: {string.Join(", ", workItems)}"); + + workItems.RemoveAt(workItems.Count - 1); + Console.WriteLine($"Remove end: {string.Join(", ", workItems)}"); + + workItems.RemoveAt(2); + Console.WriteLine($"Remove middle: {string.Join(", ", workItems)}"); + + workItems.RemoveAt(0); + Console.WriteLine($"Remove front: {string.Join(", ", workItems)}"); + // This example produces the following output: + // + // Insert middle: design, code, test + // Insert front: plan, design, code, test + // Insert range at end: plan, design, code, test, review, deploy + // Remove end: plan, design, code, test, review + // Remove middle: plan, design, test, review + // Remove front: design, test, review + // + // + } + + private static void DictionaryLookupExample() + { + // + Dictionary priorities = new() + { + ["docs"] = 2, + ["tests"] = 1 + }; + + priorities["review"] = 3; + priorities.Remove("review"); + + if (priorities.TryGetValue("docs", out int docsPriority)) + { + Console.WriteLine($"docs priority: {docsPriority}"); + } + else + { + Console.WriteLine("docs missing"); + } + + if (priorities.TryGetValue("deploy", out int deployPriority)) + { + Console.WriteLine($"deploy priority: {deployPriority}"); + } + else + { + Console.WriteLine("deploy missing"); + } + + Console.WriteLine($"count: {priorities.Count}"); + // This example produces the following output: + // + // docs priority: 2 + // deploy missing + // count: 2 + // + // + } + + private static void DictionaryUpdatesExample() + { + // + Dictionary priorities = new() + { + ["docs"] = 2, + ["tests"] = 1 + }; + + priorities["docs"] = 1; + + if (priorities.TryGetValue("tests", out int testsPriority)) + { + priorities["tests"] = testsPriority + 1; + } + + priorities["deploy"] = 3; + + Console.WriteLine($"docs priority: {priorities["docs"]}"); + Console.WriteLine($"tests priority: {priorities["tests"]}"); + Console.WriteLine($"deploy priority: {priorities["deploy"]}"); + // This example produces the following output: + // + // docs priority: 1 + // tests priority: 2 + // deploy priority: 3 + // + // + } + + private static void CollectionExpressionsExample() + { + // + string[] planned = ["design", "code"]; + // The spread element .. planned copies each element from planned. + string[] upcoming = [.. planned, "test"]; + List blocked = ["docs"]; + + Console.WriteLine($"Upcoming: {string.Join(", ", upcoming)}"); + Console.WriteLine($"Blocked: {string.Join(", ", blocked)}"); + // This example produces the following output: + // + // Upcoming: design, code, test + // Blocked: docs + // + // + } + + private static void IndexesAndRangesExample() + { + // + string[] phases = ["design", "code", "test", "deploy"]; + List checklist = ["design", "test", "review"]; + + Console.WriteLine($"Last: {phases[^1]}"); + Console.WriteLine($"Middle: {string.Join(", ", phases[1..3])}"); + Console.WriteLine($"Last two: {string.Join(", ", phases[^2..])}"); + Console.WriteLine($"Without ends: {string.Join(", ", phases[1..^1])}"); + Console.WriteLine($"First two: {string.Join(", ", phases[..2])}"); + Console.WriteLine($"From third: {string.Join(", ", phases[2..])}"); + Console.WriteLine($"All phases: {string.Join(", ", phases[..])}"); + Console.WriteLine($"List last: {checklist[^1]}"); + Console.WriteLine($"List first two: {string.Join(", ", checklist[0..2])}"); + // This example produces the following output: + // + // Last: deploy + // Middle: code, test + // Last two: test, deploy + // Without ends: code, test + // First two: design, code + // From third: test, deploy + // All phases: design, code, test, deploy + // List last: review + // List first two: design, test + // + // + } +} diff --git a/docs/csharp/fundamentals/statements/snippets/collections-statements/collections-statements.csproj b/docs/csharp/fundamentals/statements/snippets/collections-statements/collections-statements.csproj new file mode 100644 index 0000000000000..843453f90596c --- /dev/null +++ b/docs/csharp/fundamentals/statements/snippets/collections-statements/collections-statements.csproj @@ -0,0 +1,9 @@ + + + Exe + net10.0 + enable + enable + + + diff --git a/docs/csharp/fundamentals/statements/snippets/linq-statements/Program.cs b/docs/csharp/fundamentals/statements/snippets/linq-statements/Program.cs new file mode 100644 index 0000000000000..440ba6147a9d1 --- /dev/null +++ b/docs/csharp/fundamentals/statements/snippets/linq-statements/Program.cs @@ -0,0 +1,345 @@ +namespace LinqStatements; + +public static class Program +{ + public static void Main() + { + QuerySyntaxExample(); + MethodSyntaxExample(); + QuerySyntaxClearerExample(); + MethodSyntaxClearerExample(); + LambdaExpressionsExample(); + QuerySyntaxLambdaExample(); + CommonOperatorsExample(); + GroupByExample(); + DeferredExecutionExample(); + ImmediateExecutionExample(); + ComposeQuerySyntaxExample(); + ComposeMethodSyntaxExample(); + ComposeWithCachingExample(); + } + + private static void QuerySyntaxExample() + { + // + string[] names = ["Ana", "Ben", "Cleo", "Dara"]; + + IEnumerable query = + from name in names + where name.Length >= 4 + orderby name + select name; + + foreach (string name in query) + { + Console.WriteLine(name); + } + // This example produces the following output: + // + // Cleo + // Dara + // + // + } + + private static void MethodSyntaxExample() + { + // + string[] names = ["Ana", "Ben", "Cleo", "Dara"]; + + IEnumerable query = names + .Where(name => name.Length >= 4) + .OrderBy(name => name) + .Select(name => name); + + foreach (string name in query) + { + Console.WriteLine(name); + } + // This example produces the following output: + // + // Cleo + // Dara + // + // + } + + private static void QuerySyntaxClearerExample() + { + // + (string Area, int Priority)[] workItems = + [ + ("docs", 2), + ("tests", 1), + ("deploy", 4), + ("api", 1) + ]; + + IEnumerable nextItems = + from item in workItems + let label = $"{item.Area}: P{item.Priority}" + where item.Priority <= 2 + orderby item.Priority, item.Area + select label; + + foreach (string item in nextItems) + { + Console.WriteLine(item); + } + // This example produces the following output: + // + // api: P1 + // tests: P1 + // docs: P2 + // + // + } + + private static void MethodSyntaxClearerExample() + { + // + List workItems = ["design", "docs", "deploy", "review"]; + + int count = workItems.Count(item => item.StartsWith('d')); + + Console.WriteLine($"Starts with d: {count}"); // => Starts with d: 3 + // + } + + private static void LambdaExpressionsExample() + { + // + string[] names = ["Ana", "Ben", "Cleo"]; + + IEnumerable shortNames = names + .Where(name => name.Length == 3) + .Select(name => name.ToUpperInvariant()); + + foreach (string name in shortNames) + { + Console.WriteLine(name); + } + // This example produces the following output: + // + // ANA + // BEN + // + // + } + + private static void QuerySyntaxLambdaExample() + { + // + string[] workItems = ["docs", "test", "deploy"]; + + IEnumerable querySyntax = + from item in workItems + where item.Length == 4 + select item; + + IEnumerable methodSyntax = + workItems.Where(item => item.Length == 4); + + foreach (string item in querySyntax) + { + Console.WriteLine($"Result: {item}"); + } + + foreach (string item in methodSyntax) + { + Console.WriteLine($"Result: {item}"); + } + // This example produces the following output: + // + // Result: docs + // Result: test + // Result: docs + // Result: test + // + // + } + + private static void CommonOperatorsExample() + { + // + Dictionary priorities = new() + { + ["Docs"] = 2, + ["Code"] = 1, + ["Test"] = 3, + ["Deploy"] = 4 + }; + + IEnumerable plannedWork = priorities + .Where(workItem => workItem.Value <= 3) + .OrderBy(workItem => workItem.Value) + .Select(workItem => $"{workItem.Key}: {workItem.Value}"); + + foreach (string item in plannedWork) + { + Console.WriteLine(item); + } + // This example produces the following output: + // + // Code: 1 + // Docs: 2 + // Test: 3 + // + // + } + + private static void GroupByExample() + { + // + string[] labels = ["api", "auth", "docs", "deploy"]; + + IEnumerable> groups = labels.GroupBy(label => label[0]); + + foreach (IGrouping group in groups) + { + Console.WriteLine($"{group.Key}: {string.Join(", ", group)}"); + } + // This example produces the following output: + // + // a: api, auth + // d: docs, deploy + // + // + } + + private static void DeferredExecutionExample() + { + // + List workItems = ["design", "docs"]; + + IEnumerable query = workItems.Where(item => item.StartsWith('d')); + + workItems.Add("deploy"); + + // The query runs here, when foreach asks for the results. + foreach (string item in query) + { + Console.WriteLine(item); + } + // This example produces the following output: + // + // design + // docs + // deploy + // + // + } + + private static void ImmediateExecutionExample() + { + // + List workItems = ["design", "docs"]; + + IEnumerable query = workItems.Where(item => item.StartsWith('d')); + + // Count() reads the matching elements right when this line runs. + int count = query.Count(); + Console.WriteLine($"Count before add: {count}"); + + workItems.Add("deploy"); + + Console.WriteLine($"Stored count: {count}"); + Console.WriteLine($"Current count: {query.Count()}"); + // This example produces the following output: + // + // Count before add: 2 + // Stored count: 2 + // Current count: 3 + // + // + } + + private static void ComposeQuerySyntaxExample() + { + // + (string Title, int Priority, bool IsOpen)[] items = + [ + ("docs", 2, true), + ("tests", 1, true), + ("deploy", 3, false), + ("api", 1, true) + ]; + + IEnumerable<(string Title, int Priority, bool IsOpen)> openItems = + from item in items + where item.IsOpen + select item; + + IEnumerable topOpenItems = + from item in openItems + where item.Priority == 1 + orderby item.Title + select item.Title; + + foreach (string title in topOpenItems) + { + Console.WriteLine(title); + } + // This example produces the following output: + // + // api + // tests + // + // + } + + private static void ComposeMethodSyntaxExample() + { + // + (string Title, string Area, bool IsOpen)[] items = + [ + ("write docs", "docs", true), + ("fix tests", "tests", true), + ("deploy site", "deploy", false) + ]; + + bool onlyDocs = true; + + IEnumerable<(string Title, string Area, bool IsOpen)> query = + items.Where(item => item.IsOpen); + + if (onlyDocs) + { + query = query.Where(item => item.Area == "docs"); + } + + foreach (string title in query.Select(item => item.Title)) + { + Console.WriteLine(title); // => write docs + } + // + } + + private static void ComposeWithCachingExample() + { + // + List<(string Title, int Priority, bool IsOpen)> items = + [ + ("docs", 2, true), + ("tests", 1, true), + ("deploy", 3, false) + ]; + + List<(string Title, int Priority, bool IsOpen)> openItems = items + .Where(item => item.IsOpen) + .ToList(); + + items.Add(("api", 1, true)); + + IEnumerable cachedTopOpenItems = openItems + .Where(item => item.Priority == 1) + .OrderBy(item => item.Title) + .Select(item => item.Title); + + foreach (string title in cachedTopOpenItems) + { + Console.WriteLine(title); // => tests + } + // + } +} diff --git a/docs/csharp/fundamentals/statements/snippets/linq-statements/linq-statements.csproj b/docs/csharp/fundamentals/statements/snippets/linq-statements/linq-statements.csproj new file mode 100644 index 0000000000000..843453f90596c --- /dev/null +++ b/docs/csharp/fundamentals/statements/snippets/linq-statements/linq-statements.csproj @@ -0,0 +1,9 @@ + + + Exe + net10.0 + enable + enable + + + diff --git a/docs/csharp/toc.yml b/docs/csharp/toc.yml index 4c2d53605975b..511cb5c2df4a0 100644 --- a/docs/csharp/toc.yml +++ b/docs/csharp/toc.yml @@ -119,6 +119,10 @@ items: href: fundamentals/statements/selection.md - name: Iteration statements href: fundamentals/statements/iteration.md + - name: Collections + href: fundamentals/statements/collections.md + - name: LINQ + href: fundamentals/statements/linq.md - name: Object-oriented programming items: - name: Classes, structs, and records From ec00f6c3d5011d5f4fb7c19ac777732323a92b35 Mon Sep 17 00:00:00 2001 From: "learn-build-service-prod[bot]" <113403604+learn-build-service-prod[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 15:29:04 -0700 Subject: [PATCH 050/120] Remove ms.service = dotnet-data. Replaced by ms.service = dotnet-data-access (#54839) Co-authored-by: Docs Allowlist Management --- docfx.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docfx.json b/docfx.json index c7290f47f723c..8db5e8c761967 100644 --- a/docfx.json +++ b/docfx.json @@ -224,7 +224,7 @@ "docs/fundamentals/**/*.{md,yml}": "dotnet-fundamentals", "docs/machine-learning/**/*.{md,yml}": "dotnet-ml", "docs/standard/**/**.{md,yml}": "dotnet-fundamentals", - "docs/standard/data/**/**.{md,yml}": "dotnet-data", + "docs/standard/data/**/**.{md,yml}": "dotnet-data-access", "docs/standard/design-guidelines/*.{md,yml}": "dotnet", "docs/standard/security/*.{md,yml}": "dotnet", "docs/visual-basic/**/**.{md,yml}": "dotnet-visual-basic", From 100fb689321da6a4119287f30e8161ce8c5fedfe Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Mon, 20 Jul 2026 17:40:04 -0700 Subject: [PATCH 051/120] Expand lane-crossing note in SIMD article with a worked example (#54840) * Expand lane-crossing note in SIMD article with a worked example Add a worked example under 'Cross-platform vectorization with Vector128' showing why lane-crossing operations (unlike element-wise ones) don't widen for free on x86/x64. Includes ASCII diagrams contrasting element-wise vs. pairwise combination and the Vector128 bit-layout / lower-upper split, plus a verified LaneCrossingExample.cs snippet demonstrating a correct Vector128 horizontal reduction, the naive (wrong) Vector256 extension, and the fix using GetLower/GetUpper. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Address PR feedback: split ISA checks, clarify x86/x64 scope Split the Sse3/Avx gating in the verification runner so the Vector128 demo also runs on SSE3-only hardware without AVX. Add an explicit 'On x86/x64' lead-in where the worked example switches from the platform-neutral pairwise concept to the x86/x64-specific intrinsics. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- docs/standard/simd.md | 63 ++++++++++++++++++- .../simd/csharp/LaneCrossingExample.cs | 57 +++++++++++++++++ docs/standard/snippets/simd/csharp/Program.cs | 15 +++++ 3 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 docs/standard/snippets/simd/csharp/LaneCrossingExample.cs diff --git a/docs/standard/simd.md b/docs/standard/simd.md index 43b23787c424c..c28218df490df 100644 --- a/docs/standard/simd.md +++ b/docs/standard/simd.md @@ -79,13 +79,74 @@ Types that aren't supported, such as `char` and `bool`, can still be vectorized ## Cross-platform vectorization with Vector128 -`Vector128` is the common denominator across every platform that supports vectorization, so it's the best place to start. It holds a 128-bit vector: 16 bytes, 8 shorts, 4 ints/floats, or 2 longs/doubles. `Vector256` is twice as wide, and `Vector512` twice again. Not all hardware supports the larger widths, so the examples that follow use `Vector128` for portability. +`Vector128` is the common denominator across every platform that supports vectorization, so it's the best place to start. It holds a 128-bit vector: 16 bytes, 8 shorts, 4 ints/floats, or 2 longs/doubles. + +``` +------------------------------128-bits--------------------------- +| 64 | 64 | +----------------------------------------------------------------- +| 32 | 32 | 32 | 32 | +----------------------------------------------------------------- +| 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | +----------------------------------------------------------------- +| 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | +----------------------------------------------------------------- +``` + +`Vector256` is twice as wide, and `Vector512` twice again. Not all hardware supports the larger widths, so the examples that follow use `Vector128` for portability. Each width has a generic type (`Vector128`) for the data and a non-generic static class () that holds most of the operations, including static factory methods like `Create` and `Load`. Operators such as `+`, `&`, and `<<` are the idiomatic way to express arithmetic and bit operations; prefer them over the named method equivalents to avoid operator-precedence bugs and improve readability. For algorithms that depend on byte order, branch on , which the JIT also folds to a constant. > [!NOTE] > On x86/x64, `Vector256` operations are generally treated as two independent 128-bit "lanes". For most element-wise operations this is transparent, but operations that cross lanes (such as shuffles or pairwise/horizontal operations) might behave differently or cost more than the `Vector128` equivalent. Confirm with benchmarks before assuming a wider vector is faster. +### Lane-crossing operations don't widen for free + +Element-wise operations don't care about width: `v1 + v2` is the same per-element result whether `v1` and `v2` are `Vector128` or `Vector256`—widening just processes one more lane's worth of data per instruction. `Add` on `v = [a, b, c, d]` and `w = [e, f, g, h]` always combines same-index elements: + +``` +v: [ a | b | c | d ] +w: [ e | f | g | h ] + + + + + +r: [a+e|b+f|c+g|d+h] +``` + +Lane-crossing operations don't scale up that simply, because which elements get combined depends on the vector's width. A pairwise reduction combines *adjacent* elements instead of same-index ones, so widening changes what ends up paired together: + +``` +v: [ a | b | c | d ] + \_____/ \_____/ +round 1: [ a+b | c+d | a+b | c+d ] + \_________________/ +round 2: [ S | S | S | S ] (S = a+b+c+d) +``` + +That's exactly what a horizontal reduction does: sum a vector's elements with two rounds of pairwise adds. On x86/x64, `Vector128` (4 elements) gets you there with two calls to : + +:::code language="csharp" source="./snippets/simd/csharp/LaneCrossingExample.cs" id="SumVector128"::: + +Extend the same two-call pattern to `Vector256` (8 elements) and it looks right—it isn't. doesn't operate across the whole 256-bit vector; it repeats the pairwise pattern independently within each 128-bit lane. Two rounds gives you the lower lane's sum (elements 0-3) broadcast across the lower lane and the upper lane's sum (elements 4-7) broadcast across the upper lane, not the sum of all eight elements: + +:::code language="csharp" source="./snippets/simd/csharp/LaneCrossingExample.cs" id="SumVector256Naive"::: + +To get the correct total, bridge the lane boundary explicitly: read each lane's partial sum with `GetLower`/`GetUpper` and add them together—`GetLower` and `GetUpper` split a vector into its first and second halves: + +``` +------------------------------128-bits--------------------------- +| LOWER | UPPER | +----------------------------------------------------------------- +| 32 | 32 | 32 | 32 | +----------------------------------------------------------------- +| 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | +----------------------------------------------------------------- +| 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | +----------------------------------------------------------------- +``` + +:::code language="csharp" source="./snippets/simd/csharp/LaneCrossingExample.cs" id="SumVector256"::: + +That extra step is the real cost of crossing lanes. A lane-crossing algorithm doesn't just widen for free the way an element-wise one does—measure before assuming the wider vector wins. + ### Common operations `Vector128` and its wider siblings expose a large API surface. You don't need to memorize it—know the categories and look up the details when you need them. Every operation has a software fallback for platforms that can't accelerate it. The following table covers essentially the whole surface. diff --git a/docs/standard/snippets/simd/csharp/LaneCrossingExample.cs b/docs/standard/snippets/simd/csharp/LaneCrossingExample.cs new file mode 100644 index 0000000000000..a0d8c9aae7d1c --- /dev/null +++ b/docs/standard/snippets/simd/csharp/LaneCrossingExample.cs @@ -0,0 +1,57 @@ +using System.Diagnostics; +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.X86; + +namespace SimdSnippets; + +public static class LaneCrossingExample +{ + // + // Sums all four elements with two rounds of pairwise horizontal adds. + // HorizontalAdd(v, v) on [a, b, c, d] gives [a+b, c+d, a+b, c+d]; a second round + // collapses that to the full sum in every element. + public static float SumVector128(Vector128 v) + { + Debug.Assert(Sse3.IsSupported); + + Vector128 step1 = Sse3.HorizontalAdd(v, v); + Vector128 step2 = Sse3.HorizontalAdd(step1, step1); + + return step2.ToScalar(); + } + // + + // + // The same two-round pattern on Vector256 looks like it should sum all eight + // elements, but Avx.HorizontalAdd repeats the pairwise pattern independently within + // each 128-bit lane. The result holds the lower lane's sum (elements 0-3) broadcast + // across the lower lane and the upper lane's sum (elements 4-7) broadcast across the + // upper lane -- ToScalar only returns the lower lane's partial sum, not the total. + public static float SumVector256Naive(Vector256 v) + { + Debug.Assert(Avx.IsSupported); + + Vector256 step1 = Avx.HorizontalAdd(v, v); + Vector256 step2 = Avx.HorizontalAdd(step1, step1); + + return step2.ToScalar(); + } + // + + // + // Getting the full sum needs an explicit step to cross the lane boundary: read each + // lane's partial sum out with GetLower/GetUpper and add them together. + public static float SumVector256(Vector256 v) + { + Debug.Assert(Avx.IsSupported); + + Vector256 step1 = Avx.HorizontalAdd(v, v); + Vector256 step2 = Avx.HorizontalAdd(step1, step1); + + Vector128 lower = step2.GetLower(); + Vector128 upper = step2.GetUpper(); + + return lower.ToScalar() + upper.ToScalar(); + } + // +} diff --git a/docs/standard/snippets/simd/csharp/Program.cs b/docs/standard/snippets/simd/csharp/Program.cs index be7aeb320342f..6ad4ca6ce057f 100644 --- a/docs/standard/snippets/simd/csharp/Program.cs +++ b/docs/standard/snippets/simd/csharp/Program.cs @@ -1,6 +1,7 @@ using System.Numerics; using System.Linq; using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.X86; using SimdSnippets; // Verification runner. Not part of the published snippets. @@ -49,3 +50,17 @@ float[] c = [1, 1, 1, 1]; Console.WriteLine($"MultiplyAdd = [{string.Join(", ", TensorPrimitivesExample.MultiplyAdd(a, b, c))}]"); Console.WriteLine($"CosineSimilarity(a, a) = {TensorPrimitivesExample.CosineSimilarity(a, a)}"); +Console.WriteLine(); + +if (Sse3.IsSupported) +{ + Vector128 v128 = Vector128.Create(1f, 2f, 3f, 4f); + Console.WriteLine($"SumVector128 = {LaneCrossingExample.SumVector128(v128)}"); +} + +if (Avx.IsSupported) +{ + Vector256 v256 = Vector256.Create(1f, 2f, 3f, 4f, 10f, 20f, 30f, 40f); + Console.WriteLine($"SumVector256Naive = {LaneCrossingExample.SumVector256Naive(v256)}"); + Console.WriteLine($"SumVector256 = {LaneCrossingExample.SumVector256(v256)}"); +} From d9609d5491c9c619070e4f182487f9d7da7fd7e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amaury=20Lev=C3=A9?= Date: Tue, 21 Jul 2026 09:45:40 +0200 Subject: [PATCH 052/120] Document MTP message bus file artifacts and correct stale extension APIs (#54824) Addresses microsoft/testfx issue #3261. Updates the MTP extensions and test framework articles to match current testfx main: Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 77cb3512-ac1c-45cc-a0c8-3c583c919e8e --- ...esting-platform-architecture-extensions.md | 141 +++++++++++++++--- ...ng-platform-architecture-test-framework.md | 9 +- 2 files changed, 129 insertions(+), 21 deletions(-) diff --git a/docs/core/testing/microsoft-testing-platform-architecture-extensions.md b/docs/core/testing/microsoft-testing-platform-architecture-extensions.md index aa32c4872d13e..98ed287d3863b 100644 --- a/docs/core/testing/microsoft-testing-platform-architecture-extensions.md +++ b/docs/core/testing/microsoft-testing-platform-architecture-extensions.md @@ -3,7 +3,7 @@ title: Build extensions for Microsoft.Testing.Platform (MTP) description: Learn how to create in-process and out-of-process extensions for Microsoft.Testing.Platform (MTP). author: MarcoRossignoli ms.author: mrossignoli -ms.date: 06/16/2026 +ms.date: 07/17/2026 ai-usage: ai-assisted --- @@ -150,9 +150,9 @@ Please note that the `ValidateCommandLineOptionsAsync` method provides the [`ICo ### The `ITestSessionLifetimeHandler` extensions -The `ITestSessionLifeTimeHandler` is an *in-process* extension that enables the execution of code *before* and *after* the test session. +The `ITestSessionLifetimeHandler` is an *in-process* extension that enables the execution of code *before* and *after* the test session. -To register a custom `ITestSessionLifeTimeHandler`, utilize the following API: +To register a custom `ITestSessionLifetimeHandler`, use the following API: ```csharp var builder = await TestApplication.CreateBuilderAsync(args); @@ -160,7 +160,7 @@ var builder = await TestApplication.CreateBuilderAsync(args); // ... builder.TestHost.AddTestSessionLifetimeHandle( - static serviceProvider => new CustomTestSessionLifeTimeHandler()); + static serviceProvider => new CustomTestSessionLifetimeHandler()); ``` The factory utilizes the [IServiceProvider](./microsoft-testing-platform-architecture-services.md#the-imessagebus-service) to gain access to the suite of services offered by the testing platform. @@ -168,18 +168,21 @@ The factory utilizes the [IServiceProvider](./microsoft-testing-platform-archite > [!IMPORTANT] > The sequence of registration is significant, as the APIs are called in the order they were registered. -The `ITestSessionLifeTimeHandler` interface includes the following methods: +The `ITestSessionLifetimeHandler` interface includes the following methods: ```csharp public interface ITestSessionLifetimeHandler : ITestHostExtension { - Task OnTestSessionStartingAsync( - SessionUid sessionUid, - CancellationToken cancellationToken); + Task OnTestSessionStartingAsync(ITestSessionContext testSessionContext); - Task OnTestSessionFinishingAsync( - SessionUid sessionUid, - CancellationToken cancellationToken); + Task OnTestSessionFinishingAsync(ITestSessionContext testSessionContext); +} + +public interface ITestSessionContext +{ + SessionUid SessionUid { get; } + + CancellationToken CancellationToken { get; } } public readonly struct SessionUid(string value) @@ -192,15 +195,18 @@ public interface ITestHostExtension : IExtension } ``` +> [!IMPORTANT] +> In MTP 2.0.0, both methods changed to take a single `ITestSessionContext` parameter that exposes the `SessionUid` and the `CancellationToken`. In MTP 1.x, each method took a separate `SessionUid` and `CancellationToken` argument. For more information, see [Migrate from Microsoft.Testing.Platform (MTP) v1 to v2](microsoft-testing-platform-migration-from-v1-to-v2.md#api-signature-changes). + The `ITestSessionLifetimeHandler` is a type of `ITestHostExtension`, which serves as a base for all *test host* extensions. Like all other extension points, it also inherits from [IExtension](./microsoft-testing-platform-architecture-test-framework.md#the-iextension-interface). Therefore, like any other extension, you can choose to enable or disable it using the `IExtension.IsEnabledAsync` API. Consider the following details for this API: -`OnTestSessionStartingAsync`: This method is invoked prior to the commencement of the test session and receives the `SessionUid` object, which provides an opaque identifier for the current test session. +`OnTestSessionStartingAsync`: This method is invoked prior to the commencement of the test session and receives the `ITestSessionContext`, whose `SessionUid` provides an opaque identifier for the current test session. `OnTestSessionFinishingAsync`: This method is invoked after the completion of the test session, ensuring that the [testing framework](./microsoft-testing-platform-architecture-test-framework.md#test-framework-extension) has finished executing all tests and has reported all relevant data to the platform. Typically, in this method, the extension employs the [`IMessageBus`](./microsoft-testing-platform-architecture-services.md#the-imessagebus-service) to transmit custom assets or data to the shared platform bus. This method can also signal to any custom *out-of-process* extension that the test session has concluded. -Finally, both APIs take a `CancellationToken` which the extension is expected to honor. +Finally, the `ITestSessionContext` exposes a `CancellationToken` that the extension is expected to honor. If your extension requires intensive initialization and you need to use the async/await pattern, you can refer to the [`Async extension initialization and cleanup`](#asynchronous-initialization-and-cleanup-of-extensions). If you need to *share state* between extension points, you can refer to the [`CompositeExtensionFactory`](#the-compositeextensionfactoryt) section. @@ -257,7 +263,7 @@ Finally, both APIs take a `CancellationToken` which the extension is expected to ### The `IDataConsumer` extensions -The `IDataConsumer` is an *in-process* extension capable of subscribing to and receiving `IData` information that is pushed to the [IMessageBus](./microsoft-testing-platform-architecture-services.md#the-imessagebus-service) by the [testing framework](./microsoft-testing-platform-architecture-test-framework.md#test-framework-extension) and its extensions. +The `IDataConsumer` is an *in-process* extension capable of subscribing to and receiving `IData` information that is published to the [IMessageBus](./microsoft-testing-platform-architecture-services.md#the-imessagebus-service) by the [testing framework](./microsoft-testing-platform-architecture-test-framework.md#test-framework-extension) and its extensions. *This extension point is crucial as it enables developers to gather and process all the information generated during a test session.* @@ -280,7 +286,7 @@ The factory utilizes the [IServiceProvider](./microsoft-testing-platform-archite The `IDataConsumer` interface includes the following methods: ```csharp -public interface IDataConsumer : ITestHostExtension +public interface IDataConsumer : IExtension { Type[] DataTypesConsumed { get; } @@ -297,11 +303,14 @@ public interface IData } ``` -The `IDataConsumer` is a type of `ITestHostExtension`, which serves as a base for all *test host* extensions. Like all other extension points, it also inherits from [IExtension](./microsoft-testing-platform-architecture-test-framework.md#the-iextension-interface). Therefore, like any other extension, you can choose to enable or disable it using the `IExtension.IsEnabledAsync` API. +> [!IMPORTANT] +> In MTP 2.0.0, `IDataConsumer` moved to the `Microsoft.Testing.Platform.Extensions` namespace and now extends [`IExtension`](./microsoft-testing-platform-architecture-test-framework.md#the-iextension-interface) directly. In MTP 1.x, it extended `ITestHostExtension`. You still register it with `builder.TestHost.AddDataConsumer(...)`. For more information, see [Migrate from Microsoft.Testing.Platform (MTP) v1 to v2](microsoft-testing-platform-migration-from-v1-to-v2.md#api-signature-changes). + +The `IDataConsumer` inherits from [IExtension](./microsoft-testing-platform-architecture-test-framework.md#the-iextension-interface). Therefore, like any other extension, you can choose to enable or disable it using the `IExtension.IsEnabledAsync` API. `DataTypesConsumed`: This property returns a list of `Type` that this extension plans to consume. It corresponds to `IDataProducer.DataTypesProduced`. Notably, an `IDataConsumer` can subscribe to multiple types originating from different `IDataProducer` instances without any issues. -`ConsumeAsync`: This method is triggered whenever data of a type to which the current consumer is subscribed is pushed onto the [`IMessageBus`](./microsoft-testing-platform-architecture-services.md#the-imessagebus-service). It receives the `IDataProducer` to provide details about the data payload's producer, as well as the `IData` payload itself. As you can see, `IData` is a generic placeholder interface that contains general informative data. The ability to push different types of `IData` implies that the consumer needs to *switch* on the type itself to cast it to the correct type and access the specific information. +`ConsumeAsync`: This method is triggered whenever data of a type to which the current consumer is subscribed is published to the [`IMessageBus`](./microsoft-testing-platform-architecture-services.md#the-imessagebus-service). It receives the `IDataProducer` to provide details about the data payload's producer, as well as the `IData` payload itself. As you can see, `IData` is a generic placeholder interface that contains general informative data. The ability to publish different types of `IData` implies that the consumer needs to *switch* on the type itself to cast it to the correct type and access the specific information. A sample implementation of a consumer that wants to elaborate the [`TestNodeUpdateMessage`](./microsoft-testing-platform-architecture-test-framework.md#the-testnodeupdatemessage-data) produced by a [testing framework](./microsoft-testing-platform-architecture-test-framework.md#test-framework-extension) could be: @@ -351,15 +360,106 @@ internal class CustomDataConsumer : IDataConsumer, IOutputDeviceDataProducer Finally, the API takes a `CancellationToken` which the extension is expected to honor. > [!IMPORTANT] -> It's crucial to process the payload directly within the `ConsumeAsync` method. The [IMessageBus](./microsoft-testing-platform-architecture-services.md#the-imessagebus-service) can manage both synchronous and asynchronous processing, coordinating the execution with the [testing framework](./microsoft-testing-platform-architecture-test-framework.md#test-framework-extension). Although the consumption process is entirely asynchronous and doesn't block the [IMessageBus.Push](./microsoft-testing-platform-architecture-services.md#the-imessagebus-service) at the time of writing, this is an implementation detail that may change in the future due to future requirements. However, the platform ensures that this method is always called once, eliminating the need for complex synchronization, as well as managing the scalability of the consumers. +> Process the payload directly within the `ConsumeAsync` method. A regular `IDataConsumer` consumes data asynchronously: the [IMessageBus](./microsoft-testing-platform-architecture-services.md#the-imessagebus-service) queues each published payload and processes it on a background loop, so `IMessageBus.PublishAsync` doesn't block the producer, and there's no guarantee about when `ConsumeAsync` runs relative to the producer continuing its work. The platform serializes delivery so that only one payload is processed at a time per consumer, which eliminates the need for complex synchronization within a single consumer. + + + +> [!NOTE] +> For scenarios that need a guarantee that consumption happens before the producer proceeds (for example, before a test starts running), MTP 2.3.0 introduced the experimental `IBlockingDataConsumer` marker interface (requires the `TPEXP` diagnostic to be suppressed). A consumer that also implements `IBlockingDataConsumer` is invoked *inline* by the message bus: calls are serialized, `PublishAsync` blocks until `ConsumeAsync` completes, and any exception thrown by `ConsumeAsync` propagates back to the producer that published the data. The message bus skips delivering a producer's data back to that same producer (same UID), so publishing under your own UID is safe. However, a blocking consumer must not, from within `ConsumeAsync`, publish data that is routed back to itself under a *different* producer UID, because that reentrancy would deadlock. > [!WARNING] -> When using `IDataConsumer` in conjunction with [ITestHostProcessLifetimeHandler](#the-itestsessionlifetimehandler-extensions) within a [composite extension point](#the-compositeextensionfactoryt), **it's crucial to disregard any data received post the execution of [ITestSessionLifetimeHandler.OnTestSessionFinishingAsync](#the-itestsessionlifetimehandler-extensions)**. The `OnTestSessionFinishingAsync` is the final opportunity to process accumulated data and transmit new information to the [IMessageBus](./microsoft-testing-platform-architecture-services.md#the-imessagebus-service), hence, any data consumed beyond this point will not be *utilizable* by the extension. +> When using `IDataConsumer` in conjunction with [ITestSessionLifetimeHandler](#the-itestsessionlifetimehandler-extensions) within a [composite extension point](#the-compositeextensionfactoryt), **it's crucial to disregard any data received post the execution of [ITestSessionLifetimeHandler.OnTestSessionFinishingAsync](#the-itestsessionlifetimehandler-extensions)**. The `OnTestSessionFinishingAsync` is the final opportunity to process accumulated data and transmit new information to the [IMessageBus](./microsoft-testing-platform-architecture-services.md#the-imessagebus-service), hence, any data consumed beyond this point will not be *utilizable* by the extension. If your extension requires intensive initialization and you need to use the async/await pattern, you can refer to the [`Async extension initialization and cleanup`](#asynchronous-initialization-and-cleanup-of-extensions). If you need to *share state* between extension points, you can refer to the [`CompositeExtensionFactory`](#the-compositeextensionfactoryt) section. +### Message bus file artifacts + +A custom `IData` payload has no automatic UI or command-line output. The platform only surfaces data for which a matching consumer is registered, so if you publish your own `IData` type and nothing consumes it, nothing is printed or forwarded. To make files that your extension produces visible to users and tooling, publish one of the built-in file artifact messages, which the built-in *terminal* and *dotnet test* consumers already recognize. + +For run-level or session-level files, publish a `FileArtifact` or a `SessionFileArtifact`. Both were introduced in MTP 1.0.0 and live in the `Microsoft.Testing.Platform.Extensions.Messages` namespace: + +- `FileArtifact` is unscoped. Use it for a file that isn't tied to a specific test session. +- `SessionFileArtifact` is scoped to a run/session through its `SessionUid`. Use it for artifacts produced for the run as a whole, such as coverage results, reports, dumps, or recorded videos. + +The built-in terminal and `dotnet test` consumers pick up both types and print or forward the file paths, so the files become discoverable in the console output and across the `dotnet test` pipe. Because consumers control the ultimate presentation, keep each file on disk and available for as long as it might be consumed or forwarded; don't delete it inside the same `PublishAsync` call. + +The artifact object itself carries no producer identity. The message bus supplies the originating `IDataProducer` to each consumer through the `dataProducer` argument of `IDataConsumer.ConsumeAsync`, so consumers learn who produced a file from that argument, not from the artifact. The message bus also doesn't take ownership of, move, or delete the referenced file: the producer owns the file's lifetime, and consumers only receive, read, or forward its path. + +> [!NOTE] +> Third-party `IDataConsumer` registration is public only on `builder.TestHost` (the *in-process* test host). There's no public `builder.TestHostControllers.AddDataConsumer` API for *out-of-process* consumers. The first-party report extensions that display artifacts use internal platform integration that custom extensions can't rely on. To surface files from your own extension, publish the built-in artifact messages described here and let the built-in consumers present them. + +A producer that publishes a session artifact must implement `IDataProducer` and list the exact runtime message types it publishes in `DataTypesProduced`. The following example publishes a coverage report when the session finishes: + +```csharp +internal sealed class CoverageReportProducer(IMessageBus messageBus) + : IDataProducer, ITestSessionLifetimeHandler +{ + public string Uid => nameof(CoverageReportProducer); + public string Version => "1.0.0"; + public string DisplayName => "Coverage report producer"; + public string Description => "Publishes the coverage report as a session artifact."; + + // List the exact runtime message types this producer publishes. + public Type[] DataTypesProduced => new[] { typeof(SessionFileArtifact) }; + + public Task IsEnabledAsync() => Task.FromResult(true); + + public Task OnTestSessionStartingAsync(ITestSessionContext context) + => Task.CompletedTask; + + public Task OnTestSessionFinishingAsync(ITestSessionContext context) + { + var report = new FileInfo("coverage.cobertura.xml"); + return messageBus.PublishAsync( + this, + new SessionFileArtifact( + context.SessionUid, + report, + "Code coverage", + "Cobertura coverage report for the run.")); + } +} +``` + +To attach a file to a *specific test* so that the terminal, `dotnet test`, and IDEs associate and display it with that test, don't publish a standalone file artifact. Instead, add one or more `FileArtifactProperty` entries to the `TestNode` that your [testing framework](./microsoft-testing-platform-architecture-test-framework.md#test-framework-extension) reports through a [`TestNodeUpdateMessage`](./microsoft-testing-platform-architecture-test-framework.md#the-testnodeupdatemessage-data). `FileArtifactProperty` was introduced in MTP 1.7.0: + +```csharp +var testNode = new TestNode +{ + Uid = testUid, + DisplayName = testDisplayName, + Properties = new PropertyBag( + PassedTestNodeStateProperty.CachedInstance, + new FileArtifactProperty( + new FileInfo("screenshot.png"), + "Failure screenshot", + "Screenshot captured while the test ran.")), +}; + +await messageBus.PublishAsync( + dataProducer, + new TestNodeUpdateMessage(sessionUid, testNode)); +``` + +> [!IMPORTANT] +> `TestNodeFileArtifact` is obsolete and was removed in MTP 2.0.0. To attach test-level files, use `FileArtifactProperty` on the `TestNode`. For more information, see [Migrate from Microsoft.Testing.Platform (MTP) v1 to v2](microsoft-testing-platform-migration-from-v1-to-v2.md#removed-obsolete-types). + +> [!NOTE] +> MTP 2.4.0 (unreleased as of July 2026) adds an experimental `kind` constructor overload and `Kind` property to `FileArtifact` and `SessionFileArtifact` (requires the `TPEXP` diagnostic to be suppressed). `Kind` is a producer-asserted, reverse-DNS identifier of the artifact *format* (for example, `microsoft.testing.trx`, `microsoft.testing.junit`, `microsoft.testing.ctrf`, or `microsoft.testing.html`) that post-processing can use to group artifacts of the same format for consolidation. Leave it `null` or omit it when the producer doesn't declare a known kind. At this time, `Kind` is only a metadata contract; don't assume broad merge orchestration beyond that. +> +> ```csharp +> #pragma warning disable TPEXP // Experimental API. +> new SessionFileArtifact( +> context.SessionUid, +> trxFile, +> "TRX report", +> "Test results in TRX format.", +> kind: "microsoft.testing.trx"); +> #pragma warning restore TPEXP +> ``` + ### The `ITestHostEnvironmentVariableProvider` extensions The `ITestHostEnvironmentVariableProvider` is an *out-of-process* extension that enables you to establish custom environment variables for the test host. Utilizing this extension point ensures that the testing platform will initiate a new host with the appropriate environment variables, as detailed in the [architecture](./microsoft-testing-platform-architecture.md) section. @@ -687,3 +787,6 @@ The following combinations are possible: * For `ITestApplicationBuilder.TestHost`, you can combine `IDataConsumer` and `ITestSessionLifetimeHandler`. * For `ITestApplicationBuilder.TestHostControllers`, you can combine `ITestHostEnvironmentVariableProvider` and `ITestHostProcessLifetimeHandler`. + +> [!NOTE] +> `IDataConsumer` is an *in-process* extension, so custom consumers are registered only through `builder.TestHost` (including via `CompositeExtensionFactory`). There's no public API to register an `IDataConsumer` on `builder.TestHostControllers`. diff --git a/docs/core/testing/microsoft-testing-platform-architecture-test-framework.md b/docs/core/testing/microsoft-testing-platform-architecture-test-framework.md index db9e93809a210..6a9ffb12b45cf 100644 --- a/docs/core/testing/microsoft-testing-platform-architecture-test-framework.md +++ b/docs/core/testing/microsoft-testing-platform-architecture-test-framework.md @@ -3,7 +3,7 @@ title: Build a test framework for Microsoft.Testing.Platform (MTP) description: Learn how to create a custom test framework for Microsoft.Testing.Platform (MTP), including registration, lifecycle, and test node reporting. author: MarcoRossignoli ms.author: mrossignoli -ms.date: 02/24/2026 +ms.date: 07/17/2026 ai-usage: ai-assisted --- @@ -390,7 +390,12 @@ internal sealed class TestingFramework } ``` -If your test adapter requires the publication of *files* during execution, you can find the recognized properties in this source file: . As you can see, you can provide file assets in a general manner or associate them with a specific `TestNode`. Remember, if you intend to push a `SessionFileArtifact`, you must declare it to the platform in advance, as shown below: +If your test adapter produces *files* during execution, the platform recognizes two distinct mechanisms, and the right one depends on whether the file belongs to a specific test or to the run as a whole. For details, see [Message bus file artifacts](./microsoft-testing-platform-architecture-extensions.md#message-bus-file-artifacts). + +- Run-level or session-level files are standalone bus messages: publish a `FileArtifact` (unscoped) or a `SessionFileArtifact` (scoped to the run through its `SessionUid`). +- Test-specific attachments aren't standalone messages. Add them as `FileArtifactProperty` entries on `TestNode.Properties` inside a `TestNodeUpdateMessage`, so the terminal, `dotnet test`, and IDEs associate each file with its test. + +If you intend to publish a `SessionFileArtifact`, you must declare that runtime type to the platform in advance through `DataTypesProduced`, as shown below. Note that `FileArtifactProperty` isn't listed separately, because it travels inside a `TestNodeUpdateMessage` rather than as its own message type: ```csharp internal sealed class TestingFramework From 949eacd2b8ba7ff1686418441dad25748855abaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amaury=20Lev=C3=A9?= Date: Tue, 21 Jul 2026 09:46:03 +0200 Subject: [PATCH 053/120] Document direct console output limitation with ANSI progress redraw (#54825) Explain that the animated ANSI progress bar controls the terminal cursor and can overwrite output written directly to stdout/stderr outside the capture path, distinguish it from captured per-test output, and recommend --progress off or --ansi off. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f83bc790-aebc-4529-b99c-96670c94444a --- .../microsoft-testing-platform-terminal-output.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/core/testing/microsoft-testing-platform-terminal-output.md b/docs/core/testing/microsoft-testing-platform-terminal-output.md index fac528fb6028a..b8bc695f27000 100644 --- a/docs/core/testing/microsoft-testing-platform-terminal-output.md +++ b/docs/core/testing/microsoft-testing-platform-terminal-output.md @@ -3,7 +3,7 @@ title: Microsoft.Testing.Platform (MTP) terminal output description: Learn about the built-in terminal test reporter in MTP, including output modes, ANSI support, and progress indicators. author: evangelink ms.author: amauryleve -ms.date: 06/16/2026 +ms.date: 07/17/2026 ai-usage: ai-assisted --- @@ -41,6 +41,14 @@ The progress bar is written based on the selected mode: - ANSI, the progress bar is animated, sticking to the bottom of the screen and is refreshed every 500ms. The progress bar hides once test execution is done. - non-ANSI, the progress bar is written to screen as is every 3 seconds. The progress remains in the output. +### Direct console output and progress redraw + +To animate the progress bar, the ANSI progress renderer takes control of the terminal cursor and repeatedly redraws the bottom of the screen. Any text that's written directly to `stdout` or `stderr` outside the test framework's capture path can be overwritten or removed during this redraw. For example, a `Console.WriteLine` call from assembly-level or session-level lifecycle code (such as a `Before(Assembly)` or `Before(TestSession)` hook), or from an extension, might flash briefly and then disappear when the progress bar refreshes. + +This behavior is distinct from *captured* per-test standard output and standard error. Output that a test writes while it runs is captured by the framework and shown according to `--show-stdout` and `--show-stderr`, so the progress bar doesn't overwrite it. + +If your code must write directly to the console and you need that output to remain visible, disable progress (`--progress off` in MTP 2.3.0+, or `--no-progress` in earlier versions). Alternatively, disable ANSI (`--ansi off` in MTP 2.3.0+, or `--no-ansi` in earlier versions) to use the non-ANSI progress output, which appends new lines instead of redrawing in place and doesn't overwrite prior direct output. + ## Options | Option | MTP version | Description | From fd99459fd842b25b8338f9ff4cc190acedfc3aa8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 09:44:41 -0400 Subject: [PATCH 054/120] Bump the dotnet group with 3 updates (#54800) * Bump the dotnet group with 3 updates Bumps Microsoft.CodeAnalysis from 5.3.0 to 5.6.0 Bumps Microsoft.CodeAnalysis.Analyzers from 5.3.0 to 5.6.0 Bumps Microsoft.CodeAnalysis.CSharp from 5.3.0 to 5.6.0 --- updated-dependencies: - dependency-name: Microsoft.CodeAnalysis dependency-version: 5.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.CodeAnalysis.Analyzers dependency-version: 5.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.CodeAnalysis.CSharp dependency-version: 5.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] * fix version mismatch --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- .../MakeConst/MakeConst.CodeFixes/MakeConst.CodeFixes.csproj | 1 + .../MakeConst/MakeConst.Test/MakeConst.Test.csproj | 2 +- .../MakeConst/MakeConst/MakeConst.csproj | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.CodeFixes/MakeConst.CodeFixes.csproj b/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.CodeFixes/MakeConst.CodeFixes.csproj index 991d144b3db82..34bebb27c13f2 100644 --- a/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.CodeFixes/MakeConst.CodeFixes.csproj +++ b/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.CodeFixes/MakeConst.CodeFixes.csproj @@ -7,6 +7,7 @@ + diff --git a/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.Test/MakeConst.Test.csproj b/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.Test/MakeConst.Test.csproj index 9f5bd48993901..a6a2babaddc13 100644 --- a/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.Test/MakeConst.Test.csproj +++ b/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.Test/MakeConst.Test.csproj @@ -11,7 +11,7 @@ - + diff --git a/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst/MakeConst.csproj b/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst/MakeConst.csproj index 2efb7926c60ba..12bc57d45d344 100644 --- a/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst/MakeConst.csproj +++ b/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst/MakeConst.csproj @@ -9,8 +9,8 @@ - - + + From c51ff7175ec3c5df55d2b7c4db7dbd5c445c5eb5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 09:46:09 -0400 Subject: [PATCH 055/120] Bump System.Security.Cryptography.Xml from 8.0.1 to 9.0.18 (#54842) --- updated-dependencies: - dependency-name: System.Security.Cryptography.Xml dependency-version: 9.0.18 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../HowToEncryptXMLElementX509/cs/encryptxml.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementX509/cs/encryptxml.csproj b/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementX509/cs/encryptxml.csproj index ba8fb029b6251..9a802b21d926e 100644 --- a/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementX509/cs/encryptxml.csproj +++ b/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementX509/cs/encryptxml.csproj @@ -7,7 +7,7 @@ - + From 3c74a606a766f744fb6047a52d137b741ae333c8 Mon Sep 17 00:00:00 2001 From: "azure-sdk-automation[bot]" <191533747+azure-sdk-automation[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 09:46:37 -0400 Subject: [PATCH 056/120] Update package index with latest published versions (#54841) Co-authored-by: azure-sdk --- docs/azure/includes/dotnet-all.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index ae4926a9eec8c..cf7bac980e943 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -629,7 +629,7 @@ | Functions Extensions - Cosmos DB ChangeProcessor | NuGet [1.0.2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.CosmosDb.ChangeProcessor/1.0.2) | | | | Functions Extensions - Dapr | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Dapr/1.0.1) | | | | Functions Extensions - Dapr Core | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Extensions.Dapr.Core/1.0.1) | | | -| Functions Extensions - HTTP AspNet Core | NuGet [2.1.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore/2.1.0) | | | +| Functions Extensions - HTTP AspNet Core | NuGet [2.1.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore/2.1.1) | | | | Functions Extensions - Redis | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Redis/1.0.0) | | | | Functions Extensions - Redis | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Redis/1.0.0) | | | | Functions Extensions - Worker Extentions | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Dapr/1.0.1) | | | From ed342c46f11fd017374cd8fa2f2a52b1658c52a9 Mon Sep 17 00:00:00 2001 From: Bretttt Date: Tue, 21 Jul 2026 13:32:15 -0500 Subject: [PATCH 057/120] Fix typo in operator-overloading.md (#54817) --- .../language-reference/operators/operator-overloading.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/csharp/language-reference/operators/operator-overloading.md b/docs/csharp/language-reference/operators/operator-overloading.md index c82eb1ed2601f..17fd7a9111d4e 100644 --- a/docs/csharp/language-reference/operators/operator-overloading.md +++ b/docs/csharp/language-reference/operators/operator-overloading.md @@ -34,12 +34,16 @@ You also use the `operator` keyword to define a custom type conversion. For more The following table shows the operators that can be overloaded: + + | Operators | Notes | | :--------------------: | ------------- | |[`+x`](arithmetic-operators.md#unary-plus-and-minus-operators), [`-x`](arithmetic-operators.md#unary-plus-and-minus-operators), [`!x`](boolean-logical-operators.md#logical-negation-operator-), [`~x`](bitwise-and-shift-operators.md#bitwise-complement-operator-), [`++`](arithmetic-operators.md#increment-operator-), [`--`](arithmetic-operators.md#decrement-operator---), [`true`](true-false-operators.md), [`false`](true-false-operators.md)|The `true` and `false` operators must be overloaded together.| |[`x + y`](arithmetic-operators.md#addition-operator-), [`x - y`](arithmetic-operators.md#subtraction-operator--), [`x * y`](arithmetic-operators.md#multiplication-operator-), [`x / y`](arithmetic-operators.md#division-operator-), [`x % y`](arithmetic-operators.md#remainder-operator-),
[`x & y`](boolean-logical-operators.md#logical-and-operator-), [x | y](boolean-logical-operators.md#logical-or-operator-), [`x ^ y`](boolean-logical-operators.md#logical-exclusive-or-operator-),
[`x << y`](bitwise-and-shift-operators.md#left-shift-operator-), [`x >> y`](bitwise-and-shift-operators.md#right-shift-operator-), [`x >>> y`](bitwise-and-shift-operators.md#unsigned-right-shift-operator-) | | |[`x == y`](equality-operators.md#equality-operator-), [`x != y`](equality-operators.md#inequality-operator-), [`x < y`](comparison-operators.md#less-than-operator-), [`x > y`](comparison-operators.md#greater-than-operator-), [`x <= y`](comparison-operators.md#less-than-or-equal-operator-), [`x >= y`](comparison-operators.md#greater-than-or-equal-operator-)|Must be overloaded in pairs as follows: `==` and `!=`, `<` and `>`, `<=` and `>=`.| -|[`+=`](arithmetic-operators.md#compound-assignment), [`-=`](arithmetic-operators.md#compound-assignment), [`*=`](arithmetic-operators.md#compound-assignment), [`/=`](arithmetic-operators.md#compound-assignment), [`%=`](arithmetic-operators.md#compound-assignment), [`&=`](boolean-logical-operators.md#compound-assignment), [`\|=`](boolean-logical-operators.md#compound-assignment), [`^=`](boolean-logical-operators.md#compound-assignment), [`<<=`](bitwise-and-shift-operators.md#compound-assignment), [`>>=`](bitwise-and-shift-operators.md#compound-assignment), [`>>>=`](bitwise-and-shift-operators.md#compound-assignment)|The compound assignment operators can be overloaded in C# 14 and later.| +|[`+=`](arithmetic-operators.md#compound-assignment), [`-=`](arithmetic-operators.md#compound-assignment), [`*=`](arithmetic-operators.md#compound-assignment), [`/=`](arithmetic-operators.md#compound-assignment), [`%=`](arithmetic-operators.md#compound-assignment), [`&=`](boolean-logical-operators.md#compound-assignment), [`|=`](boolean-logical-operators.md#compound-assignment), [`^=`](boolean-logical-operators.md#compound-assignment), [`<<=`](bitwise-and-shift-operators.md#compound-assignment), [`>>=`](bitwise-and-shift-operators.md#compound-assignment), [`>>>=`](bitwise-and-shift-operators.md#compound-assignment)|The compound assignment operators can be overloaded in C# 14 and later.| + + A compound assignment overloaded operator must follow these rules: From 92f08533eb67b0ec80969bd3ae7d18b938cebe70 Mon Sep 17 00:00:00 2001 From: "Andy (Steve) De George" <67293991+adegeo@users.noreply.github.com> Date: Tue, 21 Jul 2026 11:39:54 -0700 Subject: [PATCH 058/120] Update close-issues policy to remove 'Not Triaged' label (#54848) Remove 'Not Triaged' label when closing issues with code-of-conduct label. --- .github/policies/close-issues.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/policies/close-issues.yml b/.github/policies/close-issues.yml index c7a4be4800945..9405d590b3a93 100644 --- a/.github/policies/close-issues.yml +++ b/.github/policies/close-issues.yml @@ -43,3 +43,5 @@ configuration: label: code-of-conduct then: - closeIssue + - removeLabel: + label: ':watch: Not Triaged' From a3e9c090c96bbe69731d21eab71b6f272e605853 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 21 Jul 2026 15:13:22 -0700 Subject: [PATCH 059/120] Add ".NET Framework" to H1 headings in release notes (#54851) --- .../2024/01-09-january-security-and-quality-rollup.md | 2 +- .../2024/01-23-january-preview-cumulative-update.md | 2 +- .../2024/02-14-february-security-and-quality-rollup.md | 2 +- .../release-notes/2024/03-26-march-preview-cumulative-update.md | 2 +- .../2024/04-09-april-security-and-quality-rollup.md | 2 +- .../release-notes/2024/04-23-april-preview-cumulative-update.md | 2 +- .../release-notes/2024/05-14-may-security-and-quality-rollup.md | 2 +- .../release-notes/2024/06-25-june-preview-cumulative-update.md | 2 +- .../2024/07-09-july-security-and-quality-rollup.md | 2 +- .../release-notes/2024/07-25-july-preview-cumulative-update.md | 2 +- .../2024/08-13-august-security-and-quality-rollup.md | 2 +- .../2024/10-08-october-security-and-quality-rollup.md | 2 +- .../2024/10-22-october-preview-cumulative-update.md | 2 +- .../2024/11-12-november-security-and-quality-rollup.md | 2 +- .../2024/11-21-november-preview-cumulative-update.md | 2 +- .../release-notes/2025/01-14-january-cumulative-update.md | 2 +- .../2025/01-28-january-cumulative-update-preview.md | 2 +- .../release-notes/2025/03-25-march-cumulative-update-preview.md | 2 +- .../release-notes/2025/04-08-april-cumulative-update.md | 2 +- .../release-notes/2025/04-22-april-cumulative-update-preview.md | 2 +- .../release-notes/2025/07-08-july-cumulative-update.md | 2 +- .../2025/08-26-august-cumulative-update-preview.md | 2 +- .../release-notes/2025/09-09-september-cumulative-update.md | 2 +- .../release-notes/2025/10-14-october-cumulative-update.md | 2 +- .../2025/10-28-october-cumulative-update-preview.md | 2 +- .../2026/01-29-january-cumulative-update-preview.md | 2 +- .../release-notes/2026/02-10-february-cumulative-update.md | 2 +- .../release-notes/2026/04-14-april-cumulative-update.md | 2 +- .../framework/release-notes/2026/05-12-may-cumulative-update.md | 2 +- .../release-notes/2026/05-26-may-cumulative-update-preview.md | 2 +- .../release-notes/2026/07-14-july-cumulative-update.md | 2 +- 31 files changed, 31 insertions(+), 31 deletions(-) diff --git a/docs/framework/release-notes/2024/01-09-january-security-and-quality-rollup.md b/docs/framework/release-notes/2024/01-09-january-security-and-quality-rollup.md index 2140e9c059316..d879642c7fe65 100644 --- a/docs/framework/release-notes/2024/01-09-january-security-and-quality-rollup.md +++ b/docs/framework/release-notes/2024/01-09-january-security-and-quality-rollup.md @@ -3,7 +3,7 @@ title: January 2024 security and quality rollup description: Learn about the improvements in the .NET Framework January 2024 security and quality rollup. ms.date: 01/08/2024 --- -# January 2024 security and quality rollup +# .NET Framework January 2024 security and quality rollup _Released January 8, 2024_ diff --git a/docs/framework/release-notes/2024/01-23-january-preview-cumulative-update.md b/docs/framework/release-notes/2024/01-23-january-preview-cumulative-update.md index 2b5290f8839a4..b6db86a932b93 100644 --- a/docs/framework/release-notes/2024/01-23-january-preview-cumulative-update.md +++ b/docs/framework/release-notes/2024/01-23-january-preview-cumulative-update.md @@ -3,7 +3,7 @@ title: January 2024 cumulative update preview description: Learn about the improvements in the .NET Framework January 2024 cumulative update preview. ms.date: 01/23/2024 --- -# January 2024 cumulative update preview +# .NET Framework January 2024 cumulative update preview _Released January 23, 2024_ diff --git a/docs/framework/release-notes/2024/02-14-february-security-and-quality-rollup.md b/docs/framework/release-notes/2024/02-14-february-security-and-quality-rollup.md index c6b8bffbef996..fe84aa8c3a95b 100644 --- a/docs/framework/release-notes/2024/02-14-february-security-and-quality-rollup.md +++ b/docs/framework/release-notes/2024/02-14-february-security-and-quality-rollup.md @@ -3,7 +3,7 @@ title: February 2024 security and quality rollup description: Learn about the improvements in the .NET Framework February 2024 security and quality rollup. ms.date: 02/14/2024 --- -# February 2024 security and quality rollup +# .NET Framework February 2024 security and quality rollup _Released February 14, 2024_ diff --git a/docs/framework/release-notes/2024/03-26-march-preview-cumulative-update.md b/docs/framework/release-notes/2024/03-26-march-preview-cumulative-update.md index 8b8281c67e8e4..8dcc3c9c2b127 100644 --- a/docs/framework/release-notes/2024/03-26-march-preview-cumulative-update.md +++ b/docs/framework/release-notes/2024/03-26-march-preview-cumulative-update.md @@ -3,7 +3,7 @@ title: March 2024 cumulative update preview description: Learn about the improvements in the .NET Framework March 2024 cumulative update preview. ms.date: 03/26/2024 --- -# March 2024 cumulative update preview +# .NET Framework March 2024 cumulative update preview _Released March 26, 2024_ diff --git a/docs/framework/release-notes/2024/04-09-april-security-and-quality-rollup.md b/docs/framework/release-notes/2024/04-09-april-security-and-quality-rollup.md index d6b38bb84086e..d3b9edd408642 100644 --- a/docs/framework/release-notes/2024/04-09-april-security-and-quality-rollup.md +++ b/docs/framework/release-notes/2024/04-09-april-security-and-quality-rollup.md @@ -3,7 +3,7 @@ title: April 2024 security and quality rollup description: Learn about the improvements in the .NET Framework April 2024 security and quality rollup. ms.date: 04/17/2024 --- -# April 2024 security and quality rollup +# .NET Framework April 2024 security and quality rollup _Released April 9, 2024_ diff --git a/docs/framework/release-notes/2024/04-23-april-preview-cumulative-update.md b/docs/framework/release-notes/2024/04-23-april-preview-cumulative-update.md index fec7566a11f30..7967e3c943b57 100644 --- a/docs/framework/release-notes/2024/04-23-april-preview-cumulative-update.md +++ b/docs/framework/release-notes/2024/04-23-april-preview-cumulative-update.md @@ -3,7 +3,7 @@ title: April 2024 cumulative update preview description: Learn about the improvements in the .NET Framework April 2024 cumulative update preview. ms.date: 04/23/2024 --- -# April 2024 cumulative update preview +# .NET Framework April 2024 cumulative update preview _Released April 23, 2024_ diff --git a/docs/framework/release-notes/2024/05-14-may-security-and-quality-rollup.md b/docs/framework/release-notes/2024/05-14-may-security-and-quality-rollup.md index 55b5a252ef048..d8859a43b6ef2 100644 --- a/docs/framework/release-notes/2024/05-14-may-security-and-quality-rollup.md +++ b/docs/framework/release-notes/2024/05-14-may-security-and-quality-rollup.md @@ -3,7 +3,7 @@ title: May 2024 security and quality rollup description: Learn about the improvements in the .NET Framework May 2024 security and quality rollup. ms.date: 05/14/2024 --- -# May 2024 security and quality rollup +# .NET Framework May 2024 security and quality rollup _Released May 14, 2024_ diff --git a/docs/framework/release-notes/2024/06-25-june-preview-cumulative-update.md b/docs/framework/release-notes/2024/06-25-june-preview-cumulative-update.md index 4c5d6d7a8ddc6..4261901b99179 100644 --- a/docs/framework/release-notes/2024/06-25-june-preview-cumulative-update.md +++ b/docs/framework/release-notes/2024/06-25-june-preview-cumulative-update.md @@ -3,7 +3,7 @@ title: June 2024 cumulative update preview description: Learn about the improvements in the .NET Framework June 2024 cumulative update preview. ms.date: 06/25/2024 --- -# June 2024 cumulative update preview +# .NET Framework June 2024 cumulative update preview _Released June 25, 2024_ diff --git a/docs/framework/release-notes/2024/07-09-july-security-and-quality-rollup.md b/docs/framework/release-notes/2024/07-09-july-security-and-quality-rollup.md index 0f63a6fa2efc6..4f34190bfb2f4 100644 --- a/docs/framework/release-notes/2024/07-09-july-security-and-quality-rollup.md +++ b/docs/framework/release-notes/2024/07-09-july-security-and-quality-rollup.md @@ -3,7 +3,7 @@ title: July 2024 security and quality rollup description: Learn about the improvements in the .NET Framework July 2024 security and quality rollup. ms.date: 07/09/2024 --- -# July 2024 security and quality rollup +# .NET Framework July 2024 security and quality rollup _Released July 9, 2024_ diff --git a/docs/framework/release-notes/2024/07-25-july-preview-cumulative-update.md b/docs/framework/release-notes/2024/07-25-july-preview-cumulative-update.md index 314a50e2320e7..61fdad0c58923 100644 --- a/docs/framework/release-notes/2024/07-25-july-preview-cumulative-update.md +++ b/docs/framework/release-notes/2024/07-25-july-preview-cumulative-update.md @@ -3,7 +3,7 @@ title: July 2024 cumulative update preview description: Learn about the improvements in the .NET Framework July 2024 cumulative update preview. ms.date: 07/25/2024 --- -# July 2024 cumulative update preview +# .NET Framework July 2024 cumulative update preview _Released July 25, 2024_ diff --git a/docs/framework/release-notes/2024/08-13-august-security-and-quality-rollup.md b/docs/framework/release-notes/2024/08-13-august-security-and-quality-rollup.md index 8652191a6a2dd..57c0a901c07c4 100644 --- a/docs/framework/release-notes/2024/08-13-august-security-and-quality-rollup.md +++ b/docs/framework/release-notes/2024/08-13-august-security-and-quality-rollup.md @@ -3,7 +3,7 @@ title: August 2024 security and quality rollup description: Learn about the improvements in the .NET Framework August 2024 security and quality rollup. ms.date: 08/13/2024 --- -# August 2024 security and quality rollup +# .NET Framework August 2024 security and quality rollup _Released August 13, 2024_ diff --git a/docs/framework/release-notes/2024/10-08-october-security-and-quality-rollup.md b/docs/framework/release-notes/2024/10-08-october-security-and-quality-rollup.md index 7f84c5ddac7d3..df3b438a0d8d3 100644 --- a/docs/framework/release-notes/2024/10-08-october-security-and-quality-rollup.md +++ b/docs/framework/release-notes/2024/10-08-october-security-and-quality-rollup.md @@ -3,7 +3,7 @@ title: October 2024 security and quality rollup description: Learn about the improvements in the .NET Framework October 2024 security and quality rollup. ms.date: 10/08/2024 --- -# October 2024 security and quality rollup +# .NET Framework October 2024 security and quality rollup _Released October 8, 2024_ diff --git a/docs/framework/release-notes/2024/10-22-october-preview-cumulative-update.md b/docs/framework/release-notes/2024/10-22-october-preview-cumulative-update.md index 00366fdd23233..29a79f59442b1 100644 --- a/docs/framework/release-notes/2024/10-22-october-preview-cumulative-update.md +++ b/docs/framework/release-notes/2024/10-22-october-preview-cumulative-update.md @@ -3,7 +3,7 @@ title: October 2024 cumulative update preview description: Learn about the improvements in the .NET Framework October 2024 cumulative update preview. ms.date: 10/22/2024 --- -# October 2024 cumulative update preview +# .NET Framework October 2024 cumulative update preview _Released October 22, 2024_ diff --git a/docs/framework/release-notes/2024/11-12-november-security-and-quality-rollup.md b/docs/framework/release-notes/2024/11-12-november-security-and-quality-rollup.md index fec8e79b8dac0..31037ea9d738a 100644 --- a/docs/framework/release-notes/2024/11-12-november-security-and-quality-rollup.md +++ b/docs/framework/release-notes/2024/11-12-november-security-and-quality-rollup.md @@ -3,7 +3,7 @@ title: November 2024 security and quality rollup description: Learn about the improvements in the .NET Framework November 2024 security and quality rollup. ms.date: 11/12/2024 --- -# November 2024 security and quality rollup +# .NET Framework November 2024 security and quality rollup _Released November 12, 2024_ diff --git a/docs/framework/release-notes/2024/11-21-november-preview-cumulative-update.md b/docs/framework/release-notes/2024/11-21-november-preview-cumulative-update.md index 8cfdb919dfaa3..c8678f252caca 100644 --- a/docs/framework/release-notes/2024/11-21-november-preview-cumulative-update.md +++ b/docs/framework/release-notes/2024/11-21-november-preview-cumulative-update.md @@ -3,7 +3,7 @@ title: November 2024 cumulative update preview description: Learn about the improvements in the .NET Framework November 2024 cumulative update preview. ms.date: 11/21/2024 --- -# November 2024 cumulative update preview +# .NET Framework November 2024 cumulative update preview _Released Novemeber 21, 2024_ _*Revised: December 18th, 2024 to updated the quality and reliability improvement. If you have already installed this update, no action is needed. diff --git a/docs/framework/release-notes/2025/01-14-january-cumulative-update.md b/docs/framework/release-notes/2025/01-14-january-cumulative-update.md index 96504974b6e8f..91622d944bfda 100644 --- a/docs/framework/release-notes/2025/01-14-january-cumulative-update.md +++ b/docs/framework/release-notes/2025/01-14-january-cumulative-update.md @@ -3,7 +3,7 @@ title: January 2025 cumulative update description: Learn about the improvements in the .NET Framework January 2025 cumulative update. ms.date: 01/14/2025 --- -# January 2025 cumulative update +# .NET Framework January 2025 cumulative update _Released January 14, 2025_ diff --git a/docs/framework/release-notes/2025/01-28-january-cumulative-update-preview.md b/docs/framework/release-notes/2025/01-28-january-cumulative-update-preview.md index a3a9963237d53..cf94c01141b01 100644 --- a/docs/framework/release-notes/2025/01-28-january-cumulative-update-preview.md +++ b/docs/framework/release-notes/2025/01-28-january-cumulative-update-preview.md @@ -3,7 +3,7 @@ title: January 2025 cumulative update preview description: Learn about the improvements in the .NET Framework January 2025 cumulative update preview. ms.date: 01/28/2025 --- -# January 2025 cumulative update preview +# .NET Framework January 2025 cumulative update preview _Released January 28, 2025_ diff --git a/docs/framework/release-notes/2025/03-25-march-cumulative-update-preview.md b/docs/framework/release-notes/2025/03-25-march-cumulative-update-preview.md index 08ffa4a415513..3438f94433f64 100644 --- a/docs/framework/release-notes/2025/03-25-march-cumulative-update-preview.md +++ b/docs/framework/release-notes/2025/03-25-march-cumulative-update-preview.md @@ -3,7 +3,7 @@ title: March 2025 cumulative update preview description: Learn about the improvements in the .NET Framework March 2025 cumulative update preview. ms.date: 03/27/2025 --- -# March 2025 cumulative update preview +# .NET Framework March 2025 cumulative update preview _Released March 25, 2025_ _Updated March 27, 2025_ diff --git a/docs/framework/release-notes/2025/04-08-april-cumulative-update.md b/docs/framework/release-notes/2025/04-08-april-cumulative-update.md index 808a47a22b65a..4712fd82f66d0 100644 --- a/docs/framework/release-notes/2025/04-08-april-cumulative-update.md +++ b/docs/framework/release-notes/2025/04-08-april-cumulative-update.md @@ -3,7 +3,7 @@ title: April 2025 security and quality rollup description: Learn about the improvements in the .NET Framework April 2025 security and quality rollup. ms.date: 04/08/2025 --- -# April 2025 security and quality rollup +# .NET Framework April 2025 security and quality rollup _Released April 8, 2025_ diff --git a/docs/framework/release-notes/2025/04-22-april-cumulative-update-preview.md b/docs/framework/release-notes/2025/04-22-april-cumulative-update-preview.md index 6e606f6d67435..42595c71c3c65 100644 --- a/docs/framework/release-notes/2025/04-22-april-cumulative-update-preview.md +++ b/docs/framework/release-notes/2025/04-22-april-cumulative-update-preview.md @@ -3,7 +3,7 @@ title: April 2025 cumulative update preview description: Learn about the improvements in the .NET Framework April 2025 cumulative update preview. ms.date: 04/22/2025 --- -# April 2025 cumulative update preview +# .NET Framework April 2025 cumulative update preview _Released April 22, 2025_ diff --git a/docs/framework/release-notes/2025/07-08-july-cumulative-update.md b/docs/framework/release-notes/2025/07-08-july-cumulative-update.md index 985a5dfff79ab..3eceb7712862b 100644 --- a/docs/framework/release-notes/2025/07-08-july-cumulative-update.md +++ b/docs/framework/release-notes/2025/07-08-july-cumulative-update.md @@ -3,7 +3,7 @@ title: July 2025 security and quality rollup description: Learn about the improvements in the .NET Framework July 2025 security and quality rollup. ms.date: 07/08/2025 --- -# July 2025 security and quality rollup +# .NET Framework July 2025 security and quality rollup _Released July 8, 2025_ diff --git a/docs/framework/release-notes/2025/08-26-august-cumulative-update-preview.md b/docs/framework/release-notes/2025/08-26-august-cumulative-update-preview.md index 372da75d034a7..82f98733c3330 100644 --- a/docs/framework/release-notes/2025/08-26-august-cumulative-update-preview.md +++ b/docs/framework/release-notes/2025/08-26-august-cumulative-update-preview.md @@ -3,7 +3,7 @@ title: August 2025 cumulative update preview description: Learn about the improvements in the .NET Framework August 2025 cumulative update preview. ms.date: 08/26/2025 --- -# August 2025 cumulative update preview +# .NET Framework August 2025 cumulative update preview _Released August 26, 2025_ _Update August 29, 2025 to include Windows 11, version 24H2_ diff --git a/docs/framework/release-notes/2025/09-09-september-cumulative-update.md b/docs/framework/release-notes/2025/09-09-september-cumulative-update.md index 1018ebc5caa33..7524fbd90ca29 100644 --- a/docs/framework/release-notes/2025/09-09-september-cumulative-update.md +++ b/docs/framework/release-notes/2025/09-09-september-cumulative-update.md @@ -3,7 +3,7 @@ title: September 2025 security and quality rollup description: Learn about the improvements in the .NET Framework September 2025 security and quality rollup. ms.date: 09/09/2025 --- -# September 2025 security and quality rollup +# .NET Framework September 2025 security and quality rollup _Released September 9, 2025_ diff --git a/docs/framework/release-notes/2025/10-14-october-cumulative-update.md b/docs/framework/release-notes/2025/10-14-october-cumulative-update.md index 87da53290dee6..8ab191b089ebb 100644 --- a/docs/framework/release-notes/2025/10-14-october-cumulative-update.md +++ b/docs/framework/release-notes/2025/10-14-october-cumulative-update.md @@ -3,7 +3,7 @@ title: October 2025 cumulative update description: Learn about the improvements in the .NET Framework October 2025 cumulative update. ms.date: 10/14/2025 --- -# October 2025 cumulative update +# .NET Framework October 2025 cumulative update _Released October 14, 2025_ _Updated November 10, 2025_ diff --git a/docs/framework/release-notes/2025/10-28-october-cumulative-update-preview.md b/docs/framework/release-notes/2025/10-28-october-cumulative-update-preview.md index ba9b2fcfe2573..c6c995601df64 100644 --- a/docs/framework/release-notes/2025/10-28-october-cumulative-update-preview.md +++ b/docs/framework/release-notes/2025/10-28-october-cumulative-update-preview.md @@ -3,7 +3,7 @@ title: October 2025 cumulative update preview description: Learn about the improvements in the .NET Framework October 2025 cumulative update preview. ms.date: 10/28/2025 --- -# October 2025 cumulative update preview +# .NET Framework October 2025 cumulative update preview _Released October 28, 2025_ diff --git a/docs/framework/release-notes/2026/01-29-january-cumulative-update-preview.md b/docs/framework/release-notes/2026/01-29-january-cumulative-update-preview.md index 62f290f96b70e..88cf2ce8103da 100644 --- a/docs/framework/release-notes/2026/01-29-january-cumulative-update-preview.md +++ b/docs/framework/release-notes/2026/01-29-january-cumulative-update-preview.md @@ -3,7 +3,7 @@ title: January 2026 cumulative update preview description: Learn about the improvements in the .NET Framework January 2026 cumulative update preview. ms.date: 01/29/2026 --- -# January 2026 cumulative update preview +# .NET Framework January 2026 cumulative update preview _Released January 29, 2026_ diff --git a/docs/framework/release-notes/2026/02-10-february-cumulative-update.md b/docs/framework/release-notes/2026/02-10-february-cumulative-update.md index b0a330afe7856..030d1dc73fa16 100644 --- a/docs/framework/release-notes/2026/02-10-february-cumulative-update.md +++ b/docs/framework/release-notes/2026/02-10-february-cumulative-update.md @@ -3,7 +3,7 @@ title: February 2026 cumulative update description: Learn about the improvements in the .NET Framework February 2026 cumulative update. ms.date: 02/10/2026 --- -# February 2026 cumulative update +# .NET Framework February 2026 cumulative update _Released February 10, 2026_ diff --git a/docs/framework/release-notes/2026/04-14-april-cumulative-update.md b/docs/framework/release-notes/2026/04-14-april-cumulative-update.md index 1175dd9d0f3ba..5e82a8aab9904 100644 --- a/docs/framework/release-notes/2026/04-14-april-cumulative-update.md +++ b/docs/framework/release-notes/2026/04-14-april-cumulative-update.md @@ -3,7 +3,7 @@ title: April 2026 cumulative update description: Learn about the improvements in the .NET Framework April 2026 cumulative update. ms.date: 04/28/2026 --- -# April 2026 cumulative update +# .NET Framework April 2026 cumulative update _Released April 14, 2026_ _Updated April 28, 2026, to include a known issue._ diff --git a/docs/framework/release-notes/2026/05-12-may-cumulative-update.md b/docs/framework/release-notes/2026/05-12-may-cumulative-update.md index e734fd7cfb4f4..4b5fc2b2feb05 100644 --- a/docs/framework/release-notes/2026/05-12-may-cumulative-update.md +++ b/docs/framework/release-notes/2026/05-12-may-cumulative-update.md @@ -3,7 +3,7 @@ title: May 2026 cumulative update description: Learn about the improvements in the .NET Framework May 2026 cumulative update. ms.date: 05/12/2026 --- -# May 2026 cumulative update +# .NET Framework May 2026 cumulative update _Released May 12, 2026_ diff --git a/docs/framework/release-notes/2026/05-26-may-cumulative-update-preview.md b/docs/framework/release-notes/2026/05-26-may-cumulative-update-preview.md index e93d8d7edab56..924d3b91fb7a0 100644 --- a/docs/framework/release-notes/2026/05-26-may-cumulative-update-preview.md +++ b/docs/framework/release-notes/2026/05-26-may-cumulative-update-preview.md @@ -3,7 +3,7 @@ title: May 2026 cumulative update preview description: Learn about the improvements in the .NET Framework May 2026 cumulative update preview. ms.date: 05/26/2026 --- -# May 2026 cumulative update preview +# .NET Framework May 2026 cumulative update preview _Released May 26, 2026_ diff --git a/docs/framework/release-notes/2026/07-14-july-cumulative-update.md b/docs/framework/release-notes/2026/07-14-july-cumulative-update.md index 378648c0d2c83..f1bc0a83323a4 100644 --- a/docs/framework/release-notes/2026/07-14-july-cumulative-update.md +++ b/docs/framework/release-notes/2026/07-14-july-cumulative-update.md @@ -3,7 +3,7 @@ title: July 2026 cumulative update description: Learn about the improvements in the .NET Framework July 2026 cumulative update. ms.date: 07/14/2026 --- -# July 2026 cumulative update +# .NET Framework July 2026 cumulative update _Released July 14, 2026_ From f307e861939fa511e0e40b2f80d4ceb0fc3f093a Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 21 Jul 2026 15:13:49 -0700 Subject: [PATCH 060/120] =?UTF-8?q?Add=20download=20links=20to=20SDK=20"Wh?= =?UTF-8?q?at's=20new"=20pages=20for=20.NET=208=E2=80=9311=20(#54852)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/core/whats-new/dotnet-10/sdk.md | 2 +- docs/core/whats-new/dotnet-11/sdk.md | 2 +- docs/core/whats-new/dotnet-8/sdk.md | 2 +- docs/core/whats-new/dotnet-9/sdk.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/core/whats-new/dotnet-10/sdk.md b/docs/core/whats-new/dotnet-10/sdk.md index 03945bd68a88c..48249bb24d890 100644 --- a/docs/core/whats-new/dotnet-10/sdk.md +++ b/docs/core/whats-new/dotnet-10/sdk.md @@ -9,7 +9,7 @@ ms.update-cycle: 3650-days # What's new in the SDK and tooling for .NET 10 -This article describes new features and enhancements in the .NET SDK for .NET 10. +This article describes new features and enhancements in the .NET SDK for .NET 10. You can [download .NET 10 here](https://get.dot.net/10). ## .NET tools enhancements diff --git a/docs/core/whats-new/dotnet-11/sdk.md b/docs/core/whats-new/dotnet-11/sdk.md index e0ab112f7e596..096cb0045b9e7 100644 --- a/docs/core/whats-new/dotnet-11/sdk.md +++ b/docs/core/whats-new/dotnet-11/sdk.md @@ -9,7 +9,7 @@ ms.update-cycle: 3650-days # What's new in the SDK and tooling for .NET 11 -This article describes new features and enhancements in the .NET SDK for .NET 11. It was last updated for Preview 6. +This article describes new features and enhancements in the .NET SDK for .NET 11. It was last updated for Preview 6. You can [download .NET 11 here](https://dotnet.microsoft.com/download/dotnet/11.0). ## SDK footprint diff --git a/docs/core/whats-new/dotnet-8/sdk.md b/docs/core/whats-new/dotnet-8/sdk.md index 39fb2bd6dd4bf..744c4cf537875 100644 --- a/docs/core/whats-new/dotnet-8/sdk.md +++ b/docs/core/whats-new/dotnet-8/sdk.md @@ -8,7 +8,7 @@ ms.update-cycle: 3650-days --- # What's new in the SDK and tooling for .NET 8 -This article describes new features in the .NET SDK and tooling for .NET 8. +This article describes new features in the .NET SDK and tooling for .NET 8. You can [download .NET 8 here](https://dotnet.microsoft.com/download/dotnet/8.0). ## SDK diff --git a/docs/core/whats-new/dotnet-9/sdk.md b/docs/core/whats-new/dotnet-9/sdk.md index 5d08a0b3bb486..12c8aff503c0e 100644 --- a/docs/core/whats-new/dotnet-9/sdk.md +++ b/docs/core/whats-new/dotnet-9/sdk.md @@ -8,7 +8,7 @@ ms.update-cycle: 3650-days # What's new in the SDK and tooling for .NET 9 -This article describes new features in the .NET SDK and tooling for .NET 9. +This article describes new features in the .NET SDK and tooling for .NET 9. You can [download .NET 9 here](https://dotnet.microsoft.com/download/dotnet/9.0). ## Unit testing From 54f7403049a3bf754b06076784e4154b71d50843 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amaury=20Lev=C3=A9?= Date: Wed, 22 Jul 2026 14:44:04 +0200 Subject: [PATCH 061/120] Document MSTest TestCase.Id filtering (#54857) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 56a8d93f-1692-4bd0-b599-4d9219b0f4c1 --- docs/core/testing/selective-unit-tests.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/core/testing/selective-unit-tests.md b/docs/core/testing/selective-unit-tests.md index 7a5d0eee4ea68..92f46f951eafe 100644 --- a/docs/core/testing/selective-unit-tests.md +++ b/docs/core/testing/selective-unit-tests.md @@ -2,7 +2,8 @@ title: Run selected unit tests description: How to use a filter expression to run selected unit tests with the dotnet test command in .NET Core. author: smadala -ms.date: 10/29/2021 +ms.date: 07/22/2026 +ai-usage: ai-assisted zone_pivot_groups: unit-testing-framework-set-one ms.topic: reference --- @@ -29,7 +30,7 @@ dotnet test --filter | Test framework | Supported properties | | -------------- | -------------------- | - | MSTest | `FullyQualifiedName`
`Name`
`ClassName`
`Priority`
`TestCategory` | + | MSTest | `FullyQualifiedName`
`Name`
`ClassName`
`Priority`
`TestCategory`
`Id` | | xUnit | `FullyQualifiedName`
`DisplayName`
`Traits` | | Nunit | `FullyQualifiedName`
`Name`
`Priority`
`TestCategory` | @@ -95,6 +96,9 @@ namespace MSTestNamespace | `dotnet test --filter FullyQualifiedName!=MSTestNamespace.UnitTest1.TestMethod1` | Runs all tests except `MSTestNamespace.UnitTest1.TestMethod1`. | | `dotnet test --filter TestCategory=CategoryA` | Runs tests that are annotated with `[TestCategory("CategoryA")]`. | | `dotnet test --filter Priority=2` | Runs tests that are annotated with `[Priority(2)]`. | +| `dotnet test --filter "Id="` | Runs the test case whose discovered `TestCase.Id` value exactly matches the GUID. | + +`Id` filtering requires MSTest.TestAdapter 3.6 or later. Obtain the GUID from the test case that VSTest discovery returns in `TestCase.Id`. This filter can select one unfolded data-driven iteration without matching or escaping its display name. Each row must be discovered as an individual test case; a folded data-driven test exposes only one parent identity. Examples using the conditional operators `|` and `&`: From ba5cb9ce4f7b1cb6452b13687d1fb085cd365da7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 12:44:23 +0000 Subject: [PATCH 062/120] Bump the dotnet group with 3 updates (#54944) Bumps Microsoft.NET.Test.Sdk from 18.7.0 to 18.8.1 Bumps MSTest.TestAdapter from 4.2.3 to 4.3.2 Bumps MSTest.TestFramework from 4.2.3 to 4.3.2 --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.8.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.8.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.8.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: MSTest.TestAdapter dependency-version: 4.3.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: MSTest.TestFramework dependency-version: 4.3.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../csharp/MSTest.Project/MSTest.Project.csproj | 6 +++--- .../csharp/NUnit.TestProject/NUnit.Project.csproj | 2 +- .../csharp/XUnit.TestProject/XUnit.Project.csproj | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/core/testing/snippets/order-unit-tests/csharp/MSTest.Project/MSTest.Project.csproj b/docs/core/testing/snippets/order-unit-tests/csharp/MSTest.Project/MSTest.Project.csproj index 1643fefc4f499..329152cd7b86b 100644 --- a/docs/core/testing/snippets/order-unit-tests/csharp/MSTest.Project/MSTest.Project.csproj +++ b/docs/core/testing/snippets/order-unit-tests/csharp/MSTest.Project/MSTest.Project.csproj @@ -8,9 +8,9 @@ - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/docs/core/testing/snippets/order-unit-tests/csharp/NUnit.TestProject/NUnit.Project.csproj b/docs/core/testing/snippets/order-unit-tests/csharp/NUnit.TestProject/NUnit.Project.csproj index 5392d8f285cd0..52c129fc5ff8a 100644 --- a/docs/core/testing/snippets/order-unit-tests/csharp/NUnit.TestProject/NUnit.Project.csproj +++ b/docs/core/testing/snippets/order-unit-tests/csharp/NUnit.TestProject/NUnit.Project.csproj @@ -10,7 +10,7 @@ - + all runtime; build; native; contentfiles; analyzers diff --git a/docs/core/testing/snippets/order-unit-tests/csharp/XUnit.TestProject/XUnit.Project.csproj b/docs/core/testing/snippets/order-unit-tests/csharp/XUnit.TestProject/XUnit.Project.csproj index 96b1c4d168d38..767ca5e1f7b41 100644 --- a/docs/core/testing/snippets/order-unit-tests/csharp/XUnit.TestProject/XUnit.Project.csproj +++ b/docs/core/testing/snippets/order-unit-tests/csharp/XUnit.TestProject/XUnit.Project.csproj @@ -8,7 +8,7 @@ - + all From a6f0df43c1273875640c59ebdf91db8186e238b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amaury=20Lev=C3=A9?= Date: Wed, 22 Jul 2026 14:44:39 +0200 Subject: [PATCH 063/120] Document MSTest 4.3 random test order and MTP 2.3 filter mutual exclusion (#54724) * Document MSTest 4.3 random test order in order-unit-tests article Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Document --treenode-filter and --filter-uid mutual exclusion (MTP 2.3.0) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Address review feedback: style and version scoping Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../microsoft-testing-platform-cli-options.md | 7 +++++-- docs/core/testing/order-unit-tests.md | 19 ++++++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/docs/core/testing/microsoft-testing-platform-cli-options.md b/docs/core/testing/microsoft-testing-platform-cli-options.md index 5d018601b41c4..6d01498c010e6 100644 --- a/docs/core/testing/microsoft-testing-platform-cli-options.md +++ b/docs/core/testing/microsoft-testing-platform-cli-options.md @@ -3,7 +3,7 @@ title: Microsoft.Testing.Platform (MTP) CLI options reference description: Find platform and extension command-line options for MTP in one place. author: Evangelink ms.author: amauryleve -ms.date: 06/16/2026 +ms.date: 07/09/2026 ai-usage: ai-assisted --- @@ -95,7 +95,7 @@ This article gives a central entry point for MTP command-line options. Filters the tests to run by their test node UIDs. Accepts one or more UIDs. > [!NOTE] - > This option is available in MTP starting with version 1.8.0. + > This option is available in MTP starting with version 1.8.0. Starting with MTP 2.3.0, you can't combine `--filter-uid` with `--treenode-filter`; specifying both fails command-line validation with the `InvalidCommandLine` exit code. - **`--help`** @@ -150,6 +150,9 @@ This article gives a central entry point for MTP command-line options. Filters the tests to run by using a tree filter expression. Tree filters offer richer matching than `--filter` for advanced scenarios. + > [!NOTE] + > Starting with MTP 2.3.0, you can't combine `--treenode-filter` with `--filter-uid`; specifying both fails command-line validation with the `InvalidCommandLine` exit code. + - **`--zero-tests-policy`** Controls whether a run that executes no tests because every test was skipped is treated as a failure. Valid values are `allow-skipped` (default) and `strict`. With `allow-skipped`, an all-skipped run succeeds; with `strict`, it fails with exit code 8 (the behavior before 2.3.0). diff --git a/docs/core/testing/order-unit-tests.md b/docs/core/testing/order-unit-tests.md index f3a0ce4a372b6..007e95a18c0c7 100644 --- a/docs/core/testing/order-unit-tests.md +++ b/docs/core/testing/order-unit-tests.md @@ -1,7 +1,7 @@ --- title: Order unit tests description: Learn how to order unit tests with .NET Core. -ms.date: 02/20/2026 +ms.date: 07/08/2026 ai-usage: ai-assisted zone_pivot_groups: unit-testing-framework-set-one --- @@ -49,6 +49,23 @@ Starting with MSTest 3.6, a new runsettings option lets you run tests by test na
``` +## Order randomly + +In MSTest 4.3 and later, run tests in a random order to surface hidden ordering dependencies between tests. To enable random order, set the `RandomizeTestOrder` setting to **true** in your runsettings file: + +```xml + + + + + true + + + +``` + +To make the random order reproducible, set the `RandomTestOrderSeed` setting to an integer seed. MSTest then replays the same order on every run. When you leave the seed unset, MSTest generates a new seed for each run. Don't combine `RandomizeTestOrder` with `OrderTestsByNameInClass`, because MSTest applies only one ordering mode at a time. For more information, see [Configure MSTest](unit-testing-mstest-configure.md). + :::zone-end :::zone pivot="xunit" From 7bd88a72c821b7d04c2adba1d9ab19f82016bfd8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:36:40 -0400 Subject: [PATCH 064/120] Bump the dotnet group with 3 updates (#54952) Bumps Microsoft.CodeAnalysis.CSharp.Workspaces from 5.3.0 to 5.6.0 Bumps MSTest.TestAdapter from 4.2.3 to 4.3.2 Bumps MSTest.TestFramework from 4.2.3 to 4.3.2 --- updated-dependencies: - dependency-name: Microsoft.CodeAnalysis.CSharp.Workspaces dependency-version: 5.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: MSTest.TestAdapter dependency-version: 4.3.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: MSTest.TestFramework dependency-version: 4.3.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../MakeConst/MakeConst.CodeFixes/MakeConst.CodeFixes.csproj | 2 +- .../MakeConst/MakeConst.Test/MakeConst.Test.csproj | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.CodeFixes/MakeConst.CodeFixes.csproj b/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.CodeFixes/MakeConst.CodeFixes.csproj index 34bebb27c13f2..a48924612fd42 100644 --- a/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.CodeFixes/MakeConst.CodeFixes.csproj +++ b/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.CodeFixes/MakeConst.CodeFixes.csproj @@ -8,7 +8,7 @@ - + diff --git a/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.Test/MakeConst.Test.csproj b/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.Test/MakeConst.Test.csproj index a6a2babaddc13..4f11bedc09ae5 100644 --- a/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.Test/MakeConst.Test.csproj +++ b/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.Test/MakeConst.Test.csproj @@ -9,8 +9,8 @@ - - + + From 2c693b7621daa4d461e4f1fdec7bbf91ca630954 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:37:03 -0400 Subject: [PATCH 065/120] Bump the dotnet group with 14 updates (#54992) Bumps Microsoft.DotNet.ILCompiler from 10.0.9 to 10.0.10 Bumps Microsoft.EntityFrameworkCore from 10.0.9 to 10.0.10 Bumps Microsoft.EntityFrameworkCore.InMemory from 10.0.9 to 10.0.10 Bumps Microsoft.EntityFrameworkCore.SqlServer from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Configuration from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Configuration.Binder from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Configuration.EnvironmentVariables from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Configuration.Ini from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Configuration.Json from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Configuration.Xml from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Logging from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Options.DataAnnotations from 10.0.9 to 10.0.10 Bumps Microsoft.NET.ILLink.Tasks from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.DotNet.ILCompiler dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.EntityFrameworkCore dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.EntityFrameworkCore.InMemory dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.EntityFrameworkCore.SqlServer dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.EnvironmentVariables dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Ini dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Json dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Json dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Json dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Json dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Xml dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Logging dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Options.DataAnnotations dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Options.DataAnnotations dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.NET.ILLink.Tasks dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../configuration/app-lifetime/app-lifetime.csproj | 4 ++-- .../configuration/console-basic/console-basic.csproj | 4 ++-- .../console-binder-gen/console-binder-gen.csproj | 8 ++++---- .../console-custom-logging.csproj | 6 +++--- .../configuration/console-env/console-env.csproj | 4 ++-- .../configuration/console-host/console-host.csproj | 6 +++--- .../console-indexer/console-indexer.csproj | 4 ++-- .../configuration/console-ini/console-ini.csproj | 6 +++--- .../configuration/console-json/console-json.csproj | 6 +++--- .../configuration/console-memory/console-memory.csproj | 4 ++-- .../configuration/console-raw/console-raw.csproj | 6 +++--- .../console-validation-gen.csproj | 8 ++++---- .../configuration/console-xml/console-xml.csproj | 6 +++--- .../snippets/configuration/console/console.csproj | 4 ++-- .../custom-provider/custom-provider.csproj | 10 +++++----- .../configuration/options-action/options-action.csproj | 4 ++-- .../options-configparam/options-configparam.csproj | 4 ++-- .../options-noparams/options-noparams.csproj | 4 ++-- .../configuration/options-object/options-object.csproj | 4 ++-- .../options-postconfig/options-postconfig.csproj | 4 ++-- .../options-validation-onstart.csproj | 6 +++--- .../configuration/worker-scope/worker-scope.csproj | 4 ++-- .../configuration/worker-service/worker-service.csproj | 4 ++-- 23 files changed, 60 insertions(+), 60 deletions(-) diff --git a/docs/core/extensions/snippets/configuration/app-lifetime/app-lifetime.csproj b/docs/core/extensions/snippets/configuration/app-lifetime/app-lifetime.csproj index da1084933c28e..9001a7ff3445a 100644 --- a/docs/core/extensions/snippets/configuration/app-lifetime/app-lifetime.csproj +++ b/docs/core/extensions/snippets/configuration/app-lifetime/app-lifetime.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/configuration/console-basic/console-basic.csproj b/docs/core/extensions/snippets/configuration/console-basic/console-basic.csproj index 7f466f05b72f2..1ea1c67fcacc5 100644 --- a/docs/core/extensions/snippets/configuration/console-basic/console-basic.csproj +++ b/docs/core/extensions/snippets/configuration/console-basic/console-basic.csproj @@ -14,8 +14,8 @@ - - + + diff --git a/docs/core/extensions/snippets/configuration/console-binder-gen/console-binder-gen.csproj b/docs/core/extensions/snippets/configuration/console-binder-gen/console-binder-gen.csproj index dca164ed282f6..b8b41b0643922 100644 --- a/docs/core/extensions/snippets/configuration/console-binder-gen/console-binder-gen.csproj +++ b/docs/core/extensions/snippets/configuration/console-binder-gen/console-binder-gen.csproj @@ -13,10 +13,10 @@ - - - - + + + + diff --git a/docs/core/extensions/snippets/configuration/console-custom-logging/console-custom-logging.csproj b/docs/core/extensions/snippets/configuration/console-custom-logging/console-custom-logging.csproj index 488918bc2b69b..a96c1b2a738a7 100644 --- a/docs/core/extensions/snippets/configuration/console-custom-logging/console-custom-logging.csproj +++ b/docs/core/extensions/snippets/configuration/console-custom-logging/console-custom-logging.csproj @@ -19,9 +19,9 @@ - - - + + + diff --git a/docs/core/extensions/snippets/configuration/console-env/console-env.csproj b/docs/core/extensions/snippets/configuration/console-env/console-env.csproj index 525342afd8fe1..57b09a5e26e20 100644 --- a/docs/core/extensions/snippets/configuration/console-env/console-env.csproj +++ b/docs/core/extensions/snippets/configuration/console-env/console-env.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/configuration/console-host/console-host.csproj b/docs/core/extensions/snippets/configuration/console-host/console-host.csproj index 4797e525a8e4a..77edb1c760afe 100644 --- a/docs/core/extensions/snippets/configuration/console-host/console-host.csproj +++ b/docs/core/extensions/snippets/configuration/console-host/console-host.csproj @@ -19,9 +19,9 @@
- - - + + + diff --git a/docs/core/extensions/snippets/configuration/console-indexer/console-indexer.csproj b/docs/core/extensions/snippets/configuration/console-indexer/console-indexer.csproj index 7f466f05b72f2..1ea1c67fcacc5 100644 --- a/docs/core/extensions/snippets/configuration/console-indexer/console-indexer.csproj +++ b/docs/core/extensions/snippets/configuration/console-indexer/console-indexer.csproj @@ -14,8 +14,8 @@ - - + + diff --git a/docs/core/extensions/snippets/configuration/console-ini/console-ini.csproj b/docs/core/extensions/snippets/configuration/console-ini/console-ini.csproj index 250e6cbf93f3d..9fef9a89d4740 100644 --- a/docs/core/extensions/snippets/configuration/console-ini/console-ini.csproj +++ b/docs/core/extensions/snippets/configuration/console-ini/console-ini.csproj @@ -19,9 +19,9 @@ - - - + + + diff --git a/docs/core/extensions/snippets/configuration/console-json/console-json.csproj b/docs/core/extensions/snippets/configuration/console-json/console-json.csproj index 17454ac1a225c..c2d1b89293077 100644 --- a/docs/core/extensions/snippets/configuration/console-json/console-json.csproj +++ b/docs/core/extensions/snippets/configuration/console-json/console-json.csproj @@ -19,9 +19,9 @@ - - - + + + diff --git a/docs/core/extensions/snippets/configuration/console-memory/console-memory.csproj b/docs/core/extensions/snippets/configuration/console-memory/console-memory.csproj index 8a6e2004bba5c..cefdf07dc9da0 100644 --- a/docs/core/extensions/snippets/configuration/console-memory/console-memory.csproj +++ b/docs/core/extensions/snippets/configuration/console-memory/console-memory.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/configuration/console-raw/console-raw.csproj b/docs/core/extensions/snippets/configuration/console-raw/console-raw.csproj index 5742ee222c0bf..4d696aa88c384 100644 --- a/docs/core/extensions/snippets/configuration/console-raw/console-raw.csproj +++ b/docs/core/extensions/snippets/configuration/console-raw/console-raw.csproj @@ -14,9 +14,9 @@ - - - + + + diff --git a/docs/core/extensions/snippets/configuration/console-validation-gen/console-validation-gen.csproj b/docs/core/extensions/snippets/configuration/console-validation-gen/console-validation-gen.csproj index 6a9b39fe1fd49..b315bec7c61b9 100644 --- a/docs/core/extensions/snippets/configuration/console-validation-gen/console-validation-gen.csproj +++ b/docs/core/extensions/snippets/configuration/console-validation-gen/console-validation-gen.csproj @@ -19,10 +19,10 @@ - - - - + + + + diff --git a/docs/core/extensions/snippets/configuration/console-xml/console-xml.csproj b/docs/core/extensions/snippets/configuration/console-xml/console-xml.csproj index 3cbcf3684da27..4834ba87d177f 100644 --- a/docs/core/extensions/snippets/configuration/console-xml/console-xml.csproj +++ b/docs/core/extensions/snippets/configuration/console-xml/console-xml.csproj @@ -23,9 +23,9 @@ - - - + + + diff --git a/docs/core/extensions/snippets/configuration/console/console.csproj b/docs/core/extensions/snippets/configuration/console/console.csproj index 209af39234498..5a71263c5a35a 100644 --- a/docs/core/extensions/snippets/configuration/console/console.csproj +++ b/docs/core/extensions/snippets/configuration/console/console.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/configuration/custom-provider/custom-provider.csproj b/docs/core/extensions/snippets/configuration/custom-provider/custom-provider.csproj index 3630bf9ae45f4..0d3d0196c0072 100644 --- a/docs/core/extensions/snippets/configuration/custom-provider/custom-provider.csproj +++ b/docs/core/extensions/snippets/configuration/custom-provider/custom-provider.csproj @@ -9,11 +9,11 @@ - - - - - + + + + + diff --git a/docs/core/extensions/snippets/configuration/options-action/options-action.csproj b/docs/core/extensions/snippets/configuration/options-action/options-action.csproj index 88a7fc4f8cc5e..d5e696233665f 100644 --- a/docs/core/extensions/snippets/configuration/options-action/options-action.csproj +++ b/docs/core/extensions/snippets/configuration/options-action/options-action.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/configuration/options-configparam/options-configparam.csproj b/docs/core/extensions/snippets/configuration/options-configparam/options-configparam.csproj index d6ea3614f5167..14f897709aa39 100644 --- a/docs/core/extensions/snippets/configuration/options-configparam/options-configparam.csproj +++ b/docs/core/extensions/snippets/configuration/options-configparam/options-configparam.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/configuration/options-noparams/options-noparams.csproj b/docs/core/extensions/snippets/configuration/options-noparams/options-noparams.csproj index 01c13487b7a8a..11e8848d1a623 100644 --- a/docs/core/extensions/snippets/configuration/options-noparams/options-noparams.csproj +++ b/docs/core/extensions/snippets/configuration/options-noparams/options-noparams.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/configuration/options-object/options-object.csproj b/docs/core/extensions/snippets/configuration/options-object/options-object.csproj index 750c7700efe42..2bf5062b847ef 100644 --- a/docs/core/extensions/snippets/configuration/options-object/options-object.csproj +++ b/docs/core/extensions/snippets/configuration/options-object/options-object.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/configuration/options-postconfig/options-postconfig.csproj b/docs/core/extensions/snippets/configuration/options-postconfig/options-postconfig.csproj index 8014ca1fdcdbb..ea2ca6d3d760c 100644 --- a/docs/core/extensions/snippets/configuration/options-postconfig/options-postconfig.csproj +++ b/docs/core/extensions/snippets/configuration/options-postconfig/options-postconfig.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/configuration/options-validation-onstart/options-validation-onstart.csproj b/docs/core/extensions/snippets/configuration/options-validation-onstart/options-validation-onstart.csproj index 623433e9082b5..83680ad16e6c9 100644 --- a/docs/core/extensions/snippets/configuration/options-validation-onstart/options-validation-onstart.csproj +++ b/docs/core/extensions/snippets/configuration/options-validation-onstart/options-validation-onstart.csproj @@ -19,9 +19,9 @@ - - - + + + diff --git a/docs/core/extensions/snippets/configuration/worker-scope/worker-scope.csproj b/docs/core/extensions/snippets/configuration/worker-scope/worker-scope.csproj index a60641b00b4e4..712333d4c8b4a 100644 --- a/docs/core/extensions/snippets/configuration/worker-scope/worker-scope.csproj +++ b/docs/core/extensions/snippets/configuration/worker-scope/worker-scope.csproj @@ -8,7 +8,7 @@ - - + + diff --git a/docs/core/extensions/snippets/configuration/worker-service/worker-service.csproj b/docs/core/extensions/snippets/configuration/worker-service/worker-service.csproj index 20baa3b0994cc..022f177539b88 100644 --- a/docs/core/extensions/snippets/configuration/worker-service/worker-service.csproj +++ b/docs/core/extensions/snippets/configuration/worker-service/worker-service.csproj @@ -9,7 +9,7 @@ - - + + From ec5af27ec06455a799510729eb5ede48ffdfd587 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:37:35 -0400 Subject: [PATCH 066/120] Bump the dotnet group with 3 updates (#54990) Bumps Microsoft.Data.Sqlite from 10.0.9 to 10.0.10 Bumps Microsoft.Data.Sqlite.Core from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.DependencyModel from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite.Core dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite.Core dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Data.Sqlite.Core dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.DependencyModel dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../AggregateFunctionSample/AggregateFunctionSample.csproj | 2 +- .../standard/data/sqlite/AsyncSample/AsyncSample.csproj | 2 +- .../standard/data/sqlite/BackupSample/BackupSample.csproj | 2 +- .../standard/data/sqlite/BatchingSample/BatchingSample.csproj | 2 +- .../data/sqlite/BulkInsertSample/BulkInsertSample.csproj | 2 +- .../data/sqlite/CollationSample/CollationSample.csproj | 2 +- .../standard/data/sqlite/DapperSample/DapperSample.csproj | 2 +- .../data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj | 2 +- .../DeferredTransactionSample.csproj | 2 +- .../data/sqlite/DirtyReadSample/DirtyReadSample.csproj | 2 +- .../data/sqlite/EncryptionSample/EncryptionSample.csproj | 2 +- .../data/sqlite/ExtensionsSample/ExtensionsSample.csproj | 4 ++-- .../data/sqlite/HelloWorldSample/HelloWorldSample.csproj | 2 +- .../standard/data/sqlite/InteropSample/InteropSample.csproj | 2 +- .../RegularExpressionSample/RegularExpressionSample.csproj | 2 +- .../sqlite/ResultMetadataSample/ResultMetadataSample.csproj | 2 +- .../data/sqlite/SavepointSample/SavepointSample.csproj | 2 +- .../sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj | 2 +- .../sqlite/SqliteProviderSample/SqliteProviderSample.csproj | 2 +- .../data/sqlite/StreamingSample/StreamingSample.csproj | 2 +- .../sqlite/SystemLibrarySample/SystemLibrarySample.csproj | 2 +- 21 files changed, 22 insertions(+), 22 deletions(-) diff --git a/samples/snippets/standard/data/sqlite/AggregateFunctionSample/AggregateFunctionSample.csproj b/samples/snippets/standard/data/sqlite/AggregateFunctionSample/AggregateFunctionSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/AggregateFunctionSample/AggregateFunctionSample.csproj +++ b/samples/snippets/standard/data/sqlite/AggregateFunctionSample/AggregateFunctionSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/AsyncSample/AsyncSample.csproj b/samples/snippets/standard/data/sqlite/AsyncSample/AsyncSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/AsyncSample/AsyncSample.csproj +++ b/samples/snippets/standard/data/sqlite/AsyncSample/AsyncSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/BackupSample/BackupSample.csproj b/samples/snippets/standard/data/sqlite/BackupSample/BackupSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/BackupSample/BackupSample.csproj +++ b/samples/snippets/standard/data/sqlite/BackupSample/BackupSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/BatchingSample/BatchingSample.csproj b/samples/snippets/standard/data/sqlite/BatchingSample/BatchingSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/BatchingSample/BatchingSample.csproj +++ b/samples/snippets/standard/data/sqlite/BatchingSample/BatchingSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/BulkInsertSample/BulkInsertSample.csproj b/samples/snippets/standard/data/sqlite/BulkInsertSample/BulkInsertSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/BulkInsertSample/BulkInsertSample.csproj +++ b/samples/snippets/standard/data/sqlite/BulkInsertSample/BulkInsertSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/CollationSample/CollationSample.csproj b/samples/snippets/standard/data/sqlite/CollationSample/CollationSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/CollationSample/CollationSample.csproj +++ b/samples/snippets/standard/data/sqlite/CollationSample/CollationSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/DapperSample/DapperSample.csproj b/samples/snippets/standard/data/sqlite/DapperSample/DapperSample.csproj index 1eb56df80e775..d60e2d20753ad 100644 --- a/samples/snippets/standard/data/sqlite/DapperSample/DapperSample.csproj +++ b/samples/snippets/standard/data/sqlite/DapperSample/DapperSample.csproj @@ -8,7 +8,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj b/samples/snippets/standard/data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj +++ b/samples/snippets/standard/data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/DeferredTransactionSample/DeferredTransactionSample.csproj b/samples/snippets/standard/data/sqlite/DeferredTransactionSample/DeferredTransactionSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/DeferredTransactionSample/DeferredTransactionSample.csproj +++ b/samples/snippets/standard/data/sqlite/DeferredTransactionSample/DeferredTransactionSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/DirtyReadSample/DirtyReadSample.csproj b/samples/snippets/standard/data/sqlite/DirtyReadSample/DirtyReadSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/DirtyReadSample/DirtyReadSample.csproj +++ b/samples/snippets/standard/data/sqlite/DirtyReadSample/DirtyReadSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/EncryptionSample/EncryptionSample.csproj b/samples/snippets/standard/data/sqlite/EncryptionSample/EncryptionSample.csproj index 7790320a30521..1d4a55d821c78 100644 --- a/samples/snippets/standard/data/sqlite/EncryptionSample/EncryptionSample.csproj +++ b/samples/snippets/standard/data/sqlite/EncryptionSample/EncryptionSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/ExtensionsSample/ExtensionsSample.csproj b/samples/snippets/standard/data/sqlite/ExtensionsSample/ExtensionsSample.csproj index 1d12ef76d9292..192296627b0f9 100644 --- a/samples/snippets/standard/data/sqlite/ExtensionsSample/ExtensionsSample.csproj +++ b/samples/snippets/standard/data/sqlite/ExtensionsSample/ExtensionsSample.csproj @@ -7,9 +7,9 @@ - + - + diff --git a/samples/snippets/standard/data/sqlite/HelloWorldSample/HelloWorldSample.csproj b/samples/snippets/standard/data/sqlite/HelloWorldSample/HelloWorldSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/HelloWorldSample/HelloWorldSample.csproj +++ b/samples/snippets/standard/data/sqlite/HelloWorldSample/HelloWorldSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/InteropSample/InteropSample.csproj b/samples/snippets/standard/data/sqlite/InteropSample/InteropSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/InteropSample/InteropSample.csproj +++ b/samples/snippets/standard/data/sqlite/InteropSample/InteropSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/RegularExpressionSample/RegularExpressionSample.csproj b/samples/snippets/standard/data/sqlite/RegularExpressionSample/RegularExpressionSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/RegularExpressionSample/RegularExpressionSample.csproj +++ b/samples/snippets/standard/data/sqlite/RegularExpressionSample/RegularExpressionSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/ResultMetadataSample/ResultMetadataSample.csproj b/samples/snippets/standard/data/sqlite/ResultMetadataSample/ResultMetadataSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/ResultMetadataSample/ResultMetadataSample.csproj +++ b/samples/snippets/standard/data/sqlite/ResultMetadataSample/ResultMetadataSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/SavepointSample/SavepointSample.csproj b/samples/snippets/standard/data/sqlite/SavepointSample/SavepointSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/SavepointSample/SavepointSample.csproj +++ b/samples/snippets/standard/data/sqlite/SavepointSample/SavepointSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj b/samples/snippets/standard/data/sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj index 7d7c58f1cb436..d1cc7c09833c2 100644 --- a/samples/snippets/standard/data/sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj +++ b/samples/snippets/standard/data/sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/SqliteProviderSample/SqliteProviderSample.csproj b/samples/snippets/standard/data/sqlite/SqliteProviderSample/SqliteProviderSample.csproj index 826f1797825ad..02cf69613721f 100644 --- a/samples/snippets/standard/data/sqlite/SqliteProviderSample/SqliteProviderSample.csproj +++ b/samples/snippets/standard/data/sqlite/SqliteProviderSample/SqliteProviderSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/StreamingSample/StreamingSample.csproj b/samples/snippets/standard/data/sqlite/StreamingSample/StreamingSample.csproj index 19feeca42140a..9cae31648a533 100644 --- a/samples/snippets/standard/data/sqlite/StreamingSample/StreamingSample.csproj +++ b/samples/snippets/standard/data/sqlite/StreamingSample/StreamingSample.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/snippets/standard/data/sqlite/SystemLibrarySample/SystemLibrarySample.csproj b/samples/snippets/standard/data/sqlite/SystemLibrarySample/SystemLibrarySample.csproj index 8a6ba908b4140..1e838c4e5d739 100644 --- a/samples/snippets/standard/data/sqlite/SystemLibrarySample/SystemLibrarySample.csproj +++ b/samples/snippets/standard/data/sqlite/SystemLibrarySample/SystemLibrarySample.csproj @@ -7,7 +7,7 @@ - + From 176cde1b63d75dae8d280da86bed0645a848a11b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:37:49 -0400 Subject: [PATCH 067/120] Bump the dotnet group with 2 updates (#54989) Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Http from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Http dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Http dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Http dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Http dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Http dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/core/extensions/snippets/http/basic/basic.csproj | 4 ++-- .../snippets/http/configurehandler/configurehandler.csproj | 4 ++-- docs/core/extensions/snippets/http/generated/generated.csproj | 4 ++-- docs/core/extensions/snippets/http/named/named.csproj | 4 ++-- docs/core/extensions/snippets/http/typed/typed.csproj | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/core/extensions/snippets/http/basic/basic.csproj b/docs/core/extensions/snippets/http/basic/basic.csproj index 7c38103d9ee8d..f9e9622f631ef 100644 --- a/docs/core/extensions/snippets/http/basic/basic.csproj +++ b/docs/core/extensions/snippets/http/basic/basic.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/http/configurehandler/configurehandler.csproj b/docs/core/extensions/snippets/http/configurehandler/configurehandler.csproj index aa062ed4ce1c1..6d80b27f18423 100644 --- a/docs/core/extensions/snippets/http/configurehandler/configurehandler.csproj +++ b/docs/core/extensions/snippets/http/configurehandler/configurehandler.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/http/generated/generated.csproj b/docs/core/extensions/snippets/http/generated/generated.csproj index ea326224db9cf..3eb80875f1423 100644 --- a/docs/core/extensions/snippets/http/generated/generated.csproj +++ b/docs/core/extensions/snippets/http/generated/generated.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/http/named/named.csproj b/docs/core/extensions/snippets/http/named/named.csproj index 45136dd55d1ec..b0af11be0cc3e 100644 --- a/docs/core/extensions/snippets/http/named/named.csproj +++ b/docs/core/extensions/snippets/http/named/named.csproj @@ -19,8 +19,8 @@ - - + + diff --git a/docs/core/extensions/snippets/http/typed/typed.csproj b/docs/core/extensions/snippets/http/typed/typed.csproj index 720350120db9c..c9f0fc2e9a50b 100644 --- a/docs/core/extensions/snippets/http/typed/typed.csproj +++ b/docs/core/extensions/snippets/http/typed/typed.csproj @@ -9,8 +9,8 @@ - - + + From de2a6f6c59803c8c975f5cb9ff909239edde81e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:38:04 -0400 Subject: [PATCH 068/120] Bump the dotnet group with 2 updates (#54971) Bumps Microsoft.Extensions.DependencyInjection.AutoActivation from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.DependencyInjection.AutoActivation dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../csharp/CompleteExample/CompleteExample.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/core/extensions/snippets/dependency-injection-auto-activation/csharp/CompleteExample/CompleteExample.csproj b/docs/core/extensions/snippets/dependency-injection-auto-activation/csharp/CompleteExample/CompleteExample.csproj index 14d4830fd9e9b..716bb07130c8b 100644 --- a/docs/core/extensions/snippets/dependency-injection-auto-activation/csharp/CompleteExample/CompleteExample.csproj +++ b/docs/core/extensions/snippets/dependency-injection-auto-activation/csharp/CompleteExample/CompleteExample.csproj @@ -7,8 +7,8 @@ - - + + From 59f37ccf68d3d054ae02a21573d2ff13354addf4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:38:18 -0400 Subject: [PATCH 069/120] Bump the dotnet group with 8 updates (#54985) Bumps Microsoft.Extensions.AI.Abstractions from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.AI.Evaluation from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.AI.Evaluation.Reporting from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.AI.OpenAI from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Configuration from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Configuration.UserSecrets from 10.0.9 to 10.0.10 Bumps Microsoft.NET.Test.Sdk from 18.7.0 to 18.8.1 Bumps MSTest from 4.2.3 to 4.3.2 --- updated-dependencies: - dependency-name: Microsoft.Extensions.AI.Abstractions dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.AI.Evaluation dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.AI.Evaluation.Reporting dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.AI.OpenAI dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.UserSecrets dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.8.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: MSTest dependency-version: 4.3.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../EvaluateResponseSafety.csproj | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/ai/evaluation/snippets/evaluate-safety/EvaluateResponseSafety.csproj b/docs/ai/evaluation/snippets/evaluate-safety/EvaluateResponseSafety.csproj index d786108938172..ce4e5475fb009 100644 --- a/docs/ai/evaluation/snippets/evaluate-safety/EvaluateResponseSafety.csproj +++ b/docs/ai/evaluation/snippets/evaluate-safety/EvaluateResponseSafety.csproj @@ -11,15 +11,15 @@ - - - + + + - - - - - + + + + + From c8a63d5ea0616eb4b03a65399b977114c5c5c36b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:38:28 -0400 Subject: [PATCH 070/120] Bump the dotnet group with 9 updates (#54984) Bumps Microsoft.Extensions.AI.Abstractions from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.AI.Evaluation from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.AI.Evaluation.Quality from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.AI.Evaluation.Reporting from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.AI.OpenAI from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Configuration from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Configuration.UserSecrets from 10.0.9 to 10.0.10 Bumps Microsoft.NET.Test.Sdk from 18.7.0 to 18.8.1 Bumps MSTest from 4.2.3 to 4.3.2 --- updated-dependencies: - dependency-name: Microsoft.Extensions.AI.Abstractions dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.AI.Evaluation dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.AI.Evaluation.Quality dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.AI.Evaluation.Reporting dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.AI.OpenAI dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.UserSecrets dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.8.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: MSTest dependency-version: 4.3.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../TestAIWithReporting.csproj | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/ai/evaluation/snippets/evaluate-with-reporting/TestAIWithReporting.csproj b/docs/ai/evaluation/snippets/evaluate-with-reporting/TestAIWithReporting.csproj index e6aa6e6f3f975..96093d9c7962b 100644 --- a/docs/ai/evaluation/snippets/evaluate-with-reporting/TestAIWithReporting.csproj +++ b/docs/ai/evaluation/snippets/evaluate-with-reporting/TestAIWithReporting.csproj @@ -11,15 +11,15 @@ - - - - - - - - - + + + + + + + + + From b6deeb3941e0023d58bb7cdce0cd407ac839cc33 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:38:43 -0400 Subject: [PATCH 071/120] Bump actions/setup-dotnet from 5.4.0 to 6.0.0 (#54858) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 5.4.0 to 6.0.0. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/26b0ec14cb23fa6904739307f278c14f94c95bf1...a98b56852c35b8e3190ac28c8c2271da59106c68) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/snippets5000.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/snippets5000.yml b/.github/workflows/snippets5000.yml index d1d583065917c..a106f217695da 100644 --- a/.github/workflows/snippets5000.yml +++ b/.github/workflows/snippets5000.yml @@ -41,7 +41,7 @@ jobs: # Get the latest preview SDK (or sdk not installed by the runner) - name: Setup .NET if: ${{ env.DOTNET_DO_INSTALL == 'true' }} - uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 #@5.4.0 + uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 #@6.0.0 with: dotnet-version: ${{ env.DOTNET_VERSION }} dotnet-quality: ${{ env.DOTNET_QUALITY }} From d1dae4dcfac372103dde8ef43bbca7eb6c53d86a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:38:58 -0400 Subject: [PATCH 072/120] Bump the dotnet group with 5 updates (#54982) Bumps Microsoft.Extensions.Configuration.Binder from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Configuration.Json from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Options from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Options.DataAnnotations from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Configuration.Binder dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.Json dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Options dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Options.DataAnnotations dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../options-recursive-validation.csproj | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/core/extensions/snippets/configuration/options-recursive-validation/options-recursive-validation.csproj b/docs/core/extensions/snippets/configuration/options-recursive-validation/options-recursive-validation.csproj index 231d1f456d421..c85243a8240c3 100644 --- a/docs/core/extensions/snippets/configuration/options-recursive-validation/options-recursive-validation.csproj +++ b/docs/core/extensions/snippets/configuration/options-recursive-validation/options-recursive-validation.csproj @@ -19,11 +19,11 @@ - - - - - + + + + + From 4e15f9af11fad60f5d7a37f2d79166f547aefc04 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:39:10 -0400 Subject: [PATCH 073/120] Bump the dotnet group with 4 updates (#54981) Bumps Microsoft.Extensions.AI from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.AI.OpenAI from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Configuration from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Configuration.UserSecrets from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.AI dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.AI.OpenAI dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.UserSecrets dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/ai/how-to/snippets/access-data/Project.csproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/ai/how-to/snippets/access-data/Project.csproj b/docs/ai/how-to/snippets/access-data/Project.csproj index 7f3e57a492884..c57c3b823fc50 100644 --- a/docs/ai/how-to/snippets/access-data/Project.csproj +++ b/docs/ai/how-to/snippets/access-data/Project.csproj @@ -11,10 +11,10 @@ - - - - + + + + From c93bdcc212ab3320d93c980a7bbc3b019930f03c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:39:24 -0400 Subject: [PATCH 074/120] Bump the dotnet group with 5 updates (#54980) Bumps Microsoft.Extensions.AmbientMetadata.Application from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Logging from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Logging.Console from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Telemetry from 10.7.0 to 10.8.0 --- updated-dependencies: - dependency-name: Microsoft.Extensions.AmbientMetadata.Application dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Logging dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Logging.Console dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Telemetry dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../applicationlogenricher/applogenricher.csproj | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/core/enrichment/snippets/applicationlogenricher/applogenricher.csproj b/docs/core/enrichment/snippets/applicationlogenricher/applogenricher.csproj index 45f35649861b2..6d6e0915c71d5 100644 --- a/docs/core/enrichment/snippets/applicationlogenricher/applogenricher.csproj +++ b/docs/core/enrichment/snippets/applicationlogenricher/applogenricher.csproj @@ -8,11 +8,11 @@ - - - - - + + + + + From 6985b8c83727f575e9c974ba4cb6d7554f5d24b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:39:38 -0400 Subject: [PATCH 075/120] Bump the dotnet group with 4 updates (#54979) Bumps Microsoft.Extensions.AI.OpenAI from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Configuration from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Configuration.UserSecrets from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Logging.Console from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.AI.OpenAI dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Configuration.UserSecrets dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Logging.Console dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../quickstarts/snippets/process-data/ProcessData.csproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/ai/quickstarts/snippets/process-data/ProcessData.csproj b/docs/ai/quickstarts/snippets/process-data/ProcessData.csproj index 518df2a412544..1d74590eb9592 100644 --- a/docs/ai/quickstarts/snippets/process-data/ProcessData.csproj +++ b/docs/ai/quickstarts/snippets/process-data/ProcessData.csproj @@ -10,12 +10,12 @@ - - - + + + - + From 2120c2a34811c324b15a3328f26edbbfef560841 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:39:54 -0400 Subject: [PATCH 076/120] Bump the dotnet group with 4 updates (#54978) Bumps Microsoft.Extensions.Compliance.Redaction from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Http from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Http.Diagnostics from 10.7.0 to 10.8.0 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Compliance.Redaction dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Http dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Http.Diagnostics dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../httpclientlogenricher/httpclientlogenricher.csproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/core/enrichment/snippets/httpclientlogenricher/httpclientlogenricher.csproj b/docs/core/enrichment/snippets/httpclientlogenricher/httpclientlogenricher.csproj index 9d06e39d3a246..8c4609269d6f1 100644 --- a/docs/core/enrichment/snippets/httpclientlogenricher/httpclientlogenricher.csproj +++ b/docs/core/enrichment/snippets/httpclientlogenricher/httpclientlogenricher.csproj @@ -9,10 +9,10 @@ - - - - + + + + From 749c4f83d936cffa8d068457a71a5cc60a360d16 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:40:04 -0400 Subject: [PATCH 077/120] Bump the dotnet group with 3 updates (#54976) Bumps Microsoft.Extensions.Caching.Hybrid from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Caching.StackExchangeRedis from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Caching.Hybrid dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Caching.StackExchangeRedis dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../caching/hybrid-cache/csharp/HybridCacheExample.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/core/extensions/snippets/caching/hybrid-cache/csharp/HybridCacheExample.csproj b/docs/core/extensions/snippets/caching/hybrid-cache/csharp/HybridCacheExample.csproj index 393e50f91ab6b..99a0a133d5c99 100644 --- a/docs/core/extensions/snippets/caching/hybrid-cache/csharp/HybridCacheExample.csproj +++ b/docs/core/extensions/snippets/caching/hybrid-cache/csharp/HybridCacheExample.csproj @@ -8,9 +8,9 @@ - - - + + + From cede1caf9a8f6a97a4844b38da0001980da1e256 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:40:17 -0400 Subject: [PATCH 078/120] Bump the dotnet group with 2 updates (#54975) Bumps Microsoft.Extensions.AsyncState from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.AsyncState dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../csharp/RequestCorrelation/RequestCorrelation.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/core/extensions/snippets/async-state/csharp/RequestCorrelation/RequestCorrelation.csproj b/docs/core/extensions/snippets/async-state/csharp/RequestCorrelation/RequestCorrelation.csproj index 4ac9215c6e3dc..1ec7072f6099c 100644 --- a/docs/core/extensions/snippets/async-state/csharp/RequestCorrelation/RequestCorrelation.csproj +++ b/docs/core/extensions/snippets/async-state/csharp/RequestCorrelation/RequestCorrelation.csproj @@ -7,8 +7,8 @@ - - + + From 11c6f699b93731ec389c20a9dae4a834e81a0bef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:40:30 -0400 Subject: [PATCH 079/120] Bump the dotnet group with 3 updates (#54972) Bumps Microsoft.Extensions.Caching.Memory from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Http from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Caching.Memory dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Caching.Memory dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Caching.Memory dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Http dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../snippets/caching/distributed/distributed-apis.csproj | 4 ++-- .../snippets/caching/memory-apis/memory-apis.csproj | 4 ++-- .../snippets/caching/memory-worker/memory-worker.csproj | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/core/extensions/snippets/caching/distributed/distributed-apis.csproj b/docs/core/extensions/snippets/caching/distributed/distributed-apis.csproj index e1f2f06397554..b57a08cd86768 100644 --- a/docs/core/extensions/snippets/caching/distributed/distributed-apis.csproj +++ b/docs/core/extensions/snippets/caching/distributed/distributed-apis.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/caching/memory-apis/memory-apis.csproj b/docs/core/extensions/snippets/caching/memory-apis/memory-apis.csproj index e729e99d85c91..1ba1abd4612ee 100644 --- a/docs/core/extensions/snippets/caching/memory-apis/memory-apis.csproj +++ b/docs/core/extensions/snippets/caching/memory-apis/memory-apis.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/docs/core/extensions/snippets/caching/memory-worker/memory-worker.csproj b/docs/core/extensions/snippets/caching/memory-worker/memory-worker.csproj index 97f0e4a3f00e0..da9a75d1e0a0b 100644 --- a/docs/core/extensions/snippets/caching/memory-worker/memory-worker.csproj +++ b/docs/core/extensions/snippets/caching/memory-worker/memory-worker.csproj @@ -8,9 +8,9 @@ - - - + + + From af297b278ec378e34a372dd779471ec1a5cd110d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 13:40:47 +0000 Subject: [PATCH 080/120] Bump the dotnet group with 3 updates (#54970) Bumps Microsoft.Extensions.DependencyInjection from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.DependencyInjection.AutoActivation from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Logging from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.DependencyInjection dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.DependencyInjection.AutoActivation dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Logging dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../csharp/DependenciesExample/DependenciesExample.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/core/extensions/snippets/dependency-injection-auto-activation/csharp/DependenciesExample/DependenciesExample.csproj b/docs/core/extensions/snippets/dependency-injection-auto-activation/csharp/DependenciesExample/DependenciesExample.csproj index 5be62298b235e..cfc422e274ddc 100644 --- a/docs/core/extensions/snippets/dependency-injection-auto-activation/csharp/DependenciesExample/DependenciesExample.csproj +++ b/docs/core/extensions/snippets/dependency-injection-auto-activation/csharp/DependenciesExample/DependenciesExample.csproj @@ -7,9 +7,9 @@ - - - + + + From c49ec935adf7a8b1dff4591b8e588a02b80b7cdd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:41:01 -0400 Subject: [PATCH 081/120] Bump the dotnet group with 5 updates (#54969) Bumps Microsoft.Extensions.AI from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Caching.Memory from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 Bumps OllamaSharp from 5.4.25 to 5.4.27 Bumps System.Threading.RateLimiting from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.AI dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Caching.Memory dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: OllamaSharp dependency-version: 5.4.27 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: System.Threading.RateLimiting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../microsoft-extensions-ai/AI.Shared/AI.Shared.csproj | 4 ++-- .../ConsoleAI.DependencyInjection.csproj | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/ai/snippets/microsoft-extensions-ai/AI.Shared/AI.Shared.csproj b/docs/ai/snippets/microsoft-extensions-ai/AI.Shared/AI.Shared.csproj index 12221484fdaf0..5be95331ffd22 100644 --- a/docs/ai/snippets/microsoft-extensions-ai/AI.Shared/AI.Shared.csproj +++ b/docs/ai/snippets/microsoft-extensions-ai/AI.Shared/AI.Shared.csproj @@ -7,8 +7,8 @@ - - + + diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.DependencyInjection/ConsoleAI.DependencyInjection.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.DependencyInjection/ConsoleAI.DependencyInjection.csproj index 50e1e1fe6874e..0cc134ed3f9be 100644 --- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.DependencyInjection/ConsoleAI.DependencyInjection.csproj +++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.DependencyInjection/ConsoleAI.DependencyInjection.csproj @@ -8,9 +8,9 @@ - - - + + + From 91680d2925a46fea65463a4154078759083c347f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:41:13 -0400 Subject: [PATCH 082/120] Bump the dotnet group with 3 updates (#54968) Bumps Microsoft.Extensions.AmbientMetadata.Build from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Logging from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.AmbientMetadata.Build dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Logging dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../snippets/buildmetadata/buildmetadata.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/core/diagnostics/ambient-metadata/snippets/buildmetadata/buildmetadata.csproj b/docs/core/diagnostics/ambient-metadata/snippets/buildmetadata/buildmetadata.csproj index 86d6c60bae071..021a6b849f1ad 100644 --- a/docs/core/diagnostics/ambient-metadata/snippets/buildmetadata/buildmetadata.csproj +++ b/docs/core/diagnostics/ambient-metadata/snippets/buildmetadata/buildmetadata.csproj @@ -8,9 +8,9 @@ - - - + + + From 036290c74521d519e1484e13f701bb9e8f2b1428 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:41:26 -0400 Subject: [PATCH 083/120] Bump the dotnet group with 2 updates (#54967) Bumps Microsoft.Extensions.AsyncState from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.DependencyInjection from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.AsyncState dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.DependencyInjection dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../csharp/IAsyncContextExample/IAsyncContextExample.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/core/extensions/snippets/async-state/csharp/IAsyncContextExample/IAsyncContextExample.csproj b/docs/core/extensions/snippets/async-state/csharp/IAsyncContextExample/IAsyncContextExample.csproj index cd76e807c5574..61fea351e24be 100644 --- a/docs/core/extensions/snippets/async-state/csharp/IAsyncContextExample/IAsyncContextExample.csproj +++ b/docs/core/extensions/snippets/async-state/csharp/IAsyncContextExample/IAsyncContextExample.csproj @@ -7,8 +7,8 @@ - - + + From 62b0e1f98f03852af7f8fa81298b60747e1fa2f9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:41:40 -0400 Subject: [PATCH 084/120] Bump the dotnet group with 4 updates (#54947) Bumps Microsoft.Extensions.AI from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.AI.Abstractions from 10.7.0 to 10.8.0 Bumps OllamaSharp from 5.4.25 to 5.4.27 Bumps System.Threading.RateLimiting from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.AI dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.AI.Abstractions dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: OllamaSharp dependency-version: 5.4.27 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: System.Threading.RateLimiting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../ConsoleAI.StatelessStateful.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.StatelessStateful/ConsoleAI.StatelessStateful.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.StatelessStateful/ConsoleAI.StatelessStateful.csproj index 07ce1559e10ff..db7ac97ed3f5c 100644 --- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.StatelessStateful/ConsoleAI.StatelessStateful.csproj +++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.StatelessStateful/ConsoleAI.StatelessStateful.csproj @@ -8,11 +8,11 @@ - + - + From 32d19fc9794b30023e1a1df020f0a3c91a26a6c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:41:53 -0400 Subject: [PATCH 085/120] Bump the dotnet group with 4 updates (#54942) Bumps Microsoft.Extensions.DependencyInjection from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Diagnostics.ResourceMonitoring from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Logging.Console from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.DependencyInjection dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Diagnostics.ResourceMonitoring dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Logging.Console dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../resource-monitoring-with-manual-metrics.csproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/core/diagnostics/snippets/resource-monitoring-with-manual-metrics/resource-monitoring-with-manual-metrics.csproj b/docs/core/diagnostics/snippets/resource-monitoring-with-manual-metrics/resource-monitoring-with-manual-metrics.csproj index feb8a4d60d635..af8b2e19e4615 100644 --- a/docs/core/diagnostics/snippets/resource-monitoring-with-manual-metrics/resource-monitoring-with-manual-metrics.csproj +++ b/docs/core/diagnostics/snippets/resource-monitoring-with-manual-metrics/resource-monitoring-with-manual-metrics.csproj @@ -10,10 +10,10 @@ - - - - + + + + From ca3cbb21629f18c7c8b52346b84b3dc750f1319f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:42:05 -0400 Subject: [PATCH 086/120] Bump the dotnet group with 1 update (#54883) Bumps System.Diagnostics.DiagnosticSource from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: System.Diagnostics.DiagnosticSource dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/core/diagnostics/snippets/Metrics/metric-instr.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core/diagnostics/snippets/Metrics/metric-instr.csproj b/docs/core/diagnostics/snippets/Metrics/metric-instr.csproj index c7ba5f6123157..66df7dcf52103 100644 --- a/docs/core/diagnostics/snippets/Metrics/metric-instr.csproj +++ b/docs/core/diagnostics/snippets/Metrics/metric-instr.csproj @@ -9,7 +9,7 @@ - + From f5437a61a669ca4e9833382a888405a6bd6af623 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:42:18 -0400 Subject: [PATCH 087/120] Bump the dotnet group with 5 updates (#54935) Bumps Microsoft.Extensions.DependencyInjection from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Diagnostics.ResourceMonitoring from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Logging.Console from 10.0.9 to 10.0.10 Bumps Spectre.Console from 0.57.0 to 0.57.2 --- updated-dependencies: - dependency-name: Microsoft.Extensions.DependencyInjection dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Diagnostics.ResourceMonitoring dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Logging.Console dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Spectre.Console dependency-version: 0.57.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../resource-monitoring/resource-monitoring.csproj | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/core/diagnostics/snippets/resource-monitoring/resource-monitoring.csproj b/docs/core/diagnostics/snippets/resource-monitoring/resource-monitoring.csproj index 42745c4be956e..cf6f7812068b1 100644 --- a/docs/core/diagnostics/snippets/resource-monitoring/resource-monitoring.csproj +++ b/docs/core/diagnostics/snippets/resource-monitoring/resource-monitoring.csproj @@ -8,11 +8,11 @@ - - - - - + + + + + From bca3b97c621dc35e1e8312f4f40951df9594a918 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:42:32 -0400 Subject: [PATCH 088/120] Bump the dotnet group with 3 updates (#54937) Bumps Microsoft.Extensions.AI from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.AI.OpenAI from 10.7.0 to 10.8.0 Bumps ModelContextProtocol from 1.4.0 to 1.4.1 --- updated-dependencies: - dependency-name: Microsoft.Extensions.AI dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.AI.OpenAI dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: ModelContextProtocol dependency-version: 1.4.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../quickstarts/snippets/mcp-client/MinimalMCPClient.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/ai/quickstarts/snippets/mcp-client/MinimalMCPClient.csproj b/docs/ai/quickstarts/snippets/mcp-client/MinimalMCPClient.csproj index d864c58960e6e..b5c3a1e77ed26 100644 --- a/docs/ai/quickstarts/snippets/mcp-client/MinimalMCPClient.csproj +++ b/docs/ai/quickstarts/snippets/mcp-client/MinimalMCPClient.csproj @@ -10,9 +10,9 @@ - - - + + + From ccd830458496065e773d47ec3603f233a7b4216c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:43:59 -0400 Subject: [PATCH 089/120] Bump the dotnet group with 3 updates (#54933) Bumps Microsoft.AspNetCore.OpenApi from 9.0.17 to 9.0.18 Bumps Microsoft.Extensions.AI from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.AI.OpenAI from 10.7.0 to 10.8.0 --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.OpenApi dependency-version: 9.0.18 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.AI dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.AI.OpenAI dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../how-to/snippets/hosted-app-auth/hosted-app-auth.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/ai/how-to/snippets/hosted-app-auth/hosted-app-auth.csproj b/docs/ai/how-to/snippets/hosted-app-auth/hosted-app-auth.csproj index 4bb5dd0840d57..e2b58354ef241 100644 --- a/docs/ai/how-to/snippets/hosted-app-auth/hosted-app-auth.csproj +++ b/docs/ai/how-to/snippets/hosted-app-auth/hosted-app-auth.csproj @@ -10,9 +10,9 @@ - - - + + + From 302f08d6f74051bdaf1565325eaa9adbcd35814a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:44:09 -0400 Subject: [PATCH 090/120] Bump the dotnet group with 2 updates (#54929) Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 Bumps ModelContextProtocol from 1.4.0 to 1.4.1 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: ModelContextProtocol dependency-version: 1.4.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../ai/quickstarts/snippets/mcp-server/SampleMcpServer.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ai/quickstarts/snippets/mcp-server/SampleMcpServer.csproj b/docs/ai/quickstarts/snippets/mcp-server/SampleMcpServer.csproj index 3f434ae774dcc..bef872ee23b70 100644 --- a/docs/ai/quickstarts/snippets/mcp-server/SampleMcpServer.csproj +++ b/docs/ai/quickstarts/snippets/mcp-server/SampleMcpServer.csproj @@ -33,8 +33,8 @@ - - + + From a65f498a50521f9e0f30a0d54bf6ff92902bf304 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:44:25 -0400 Subject: [PATCH 091/120] Bump the dotnet group with 3 updates (#54920) Bumps Microsoft.Extensions.DependencyInjection from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Logging from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Logging.Console from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.DependencyInjection dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Logging dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Logging.Console dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../snippets/logging/di-without-host/di-without-host.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/core/extensions/snippets/logging/di-without-host/di-without-host.csproj b/docs/core/extensions/snippets/logging/di-without-host/di-without-host.csproj index 995d24dec7f1b..5643320ed19f1 100644 --- a/docs/core/extensions/snippets/logging/di-without-host/di-without-host.csproj +++ b/docs/core/extensions/snippets/logging/di-without-host/di-without-host.csproj @@ -9,9 +9,9 @@ - - - + + + From 7f6fde9bdbd2a29a4dc919da2d6b981ef2bc62bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:44:42 -0400 Subject: [PATCH 092/120] Bump the dotnet group with 2 updates (#54914) Bumps Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../diagnostics/snippets/health-checks/health-checks.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/core/diagnostics/snippets/health-checks/health-checks.csproj b/docs/core/diagnostics/snippets/health-checks/health-checks.csproj index cbf71f5887cbe..01d6e2763dca8 100644 --- a/docs/core/diagnostics/snippets/health-checks/health-checks.csproj +++ b/docs/core/diagnostics/snippets/health-checks/health-checks.csproj @@ -8,8 +8,8 @@ - - + + From bb99c72b3c35b970d35322faf16a96a131f6ee38 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:44:56 -0400 Subject: [PATCH 093/120] Bump the dotnet group with 2 updates (#54915) Bumps Microsoft.NET.Test.Sdk from 18.7.0 to 18.8.1 Bumps NSubstitute from 5.3.0 to 6.0.0 --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.8.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: NSubstitute dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../sdk/snippets/unit-testing/UnitTestingSampleApp.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/azure/sdk/snippets/unit-testing/UnitTestingSampleApp.csproj b/docs/azure/sdk/snippets/unit-testing/UnitTestingSampleApp.csproj index ae2dd019f5061..2a4762046e5dc 100644 --- a/docs/azure/sdk/snippets/unit-testing/UnitTestingSampleApp.csproj +++ b/docs/azure/sdk/snippets/unit-testing/UnitTestingSampleApp.csproj @@ -12,9 +12,9 @@ - + - + runtime; build; native; contentfiles; analyzers; buildtransitive From d8d01bc410aa5c111233e7e697927a3a9aded31b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:45:07 -0400 Subject: [PATCH 094/120] Bump the dotnet group with 2 updates (#54912) Bumps Azure.Messaging.ServiceBus from 7.20.1 to 7.20.2 Bumps Microsoft.AspNetCore.OpenApi from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Azure.Messaging.ServiceBus dependency-version: 7.20.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.AspNetCore.OpenApi dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../aspnetcore-guidance/MinApiSample/MinApiSample.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/azure/sdk/snippets/aspnetcore-guidance/MinApiSample/MinApiSample.csproj b/docs/azure/sdk/snippets/aspnetcore-guidance/MinApiSample/MinApiSample.csproj index 55eb8cde9b0ff..362d4106b1f07 100644 --- a/docs/azure/sdk/snippets/aspnetcore-guidance/MinApiSample/MinApiSample.csproj +++ b/docs/azure/sdk/snippets/aspnetcore-guidance/MinApiSample/MinApiSample.csproj @@ -7,8 +7,8 @@ - - + + From 1943d8f4c266c098781dc21d2f28554313c789e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:45:18 -0400 Subject: [PATCH 095/120] Bump the dotnet group with 2 updates (#54907) Bumps Microsoft.Extensions.Diagnostics.HealthChecks.Common from 10.7.0 to 10.8.0 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.Common dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../lifetime-health-checks/lifetime-health-checks.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/core/diagnostics/snippets/lifetime-health-checks/lifetime-health-checks.csproj b/docs/core/diagnostics/snippets/lifetime-health-checks/lifetime-health-checks.csproj index 893df7d9d209e..326477cf25ee4 100644 --- a/docs/core/diagnostics/snippets/lifetime-health-checks/lifetime-health-checks.csproj +++ b/docs/core/diagnostics/snippets/lifetime-health-checks/lifetime-health-checks.csproj @@ -8,8 +8,8 @@ - - + + From 8258f89b5135f7a0c847ab3bf342472912f23d98 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:45:31 -0400 Subject: [PATCH 096/120] Bump the dotnet group with 2 updates (#54905) Bumps Microsoft.Extensions.DependencyInjection from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Diagnostics.ExceptionSummarization from 10.7.0 to 10.8.0 --- updated-dependencies: - dependency-name: Microsoft.Extensions.DependencyInjection dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Diagnostics.ExceptionSummarization dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../snippets/exception-summary/exception-summary.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/core/diagnostics/snippets/exception-summary/exception-summary.csproj b/docs/core/diagnostics/snippets/exception-summary/exception-summary.csproj index 9ffe8ffcd8d13..c00a631e07d4e 100644 --- a/docs/core/diagnostics/snippets/exception-summary/exception-summary.csproj +++ b/docs/core/diagnostics/snippets/exception-summary/exception-summary.csproj @@ -8,8 +8,8 @@ - - + + From bfc75f24b9c2d85803643c0ed72d87cc1993923e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:45:44 -0400 Subject: [PATCH 097/120] Bump the dotnet group with 1 update (#54901) Bumps Microsoft.Extensions.Telemetry.Abstractions from 10.7.0 to 10.8.0 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Telemetry.Abstractions dependency-version: 10.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/core/diagnostics/snippets/MetricsGen/MetricsGen.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core/diagnostics/snippets/MetricsGen/MetricsGen.csproj b/docs/core/diagnostics/snippets/MetricsGen/MetricsGen.csproj index 34b3774bd08dd..d8b53abf14c44 100644 --- a/docs/core/diagnostics/snippets/MetricsGen/MetricsGen.csproj +++ b/docs/core/diagnostics/snippets/MetricsGen/MetricsGen.csproj @@ -8,7 +8,7 @@ - + From b83e366eb50b488f883ae6fd56bdec445965172e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:45:57 -0400 Subject: [PATCH 098/120] Bump the dotnet group with 1 update (#54894) Bumps Microsoft.Extensions.Primitives from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Primitives dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Primitives dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/core/extensions/snippets/primitives/change/tokens.csproj | 2 +- .../extensions/snippets/primitives/string/tokenizers.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/core/extensions/snippets/primitives/change/tokens.csproj b/docs/core/extensions/snippets/primitives/change/tokens.csproj index 3e3d10f3b81a2..ad24cf8309d9b 100644 --- a/docs/core/extensions/snippets/primitives/change/tokens.csproj +++ b/docs/core/extensions/snippets/primitives/change/tokens.csproj @@ -9,7 +9,7 @@ - + diff --git a/docs/core/extensions/snippets/primitives/string/tokenizers.csproj b/docs/core/extensions/snippets/primitives/string/tokenizers.csproj index 6e03087a245b1..4b5b13a940411 100644 --- a/docs/core/extensions/snippets/primitives/string/tokenizers.csproj +++ b/docs/core/extensions/snippets/primitives/string/tokenizers.csproj @@ -10,7 +10,7 @@ - + From a176aefa6a7d94d13d04aeea39207692ed51eaea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:46:09 -0400 Subject: [PATCH 099/120] Bump the dotnet group with 1 update (#54892) Bumps OpenAI from 2.11.0 to 2.12.0 --- updated-dependencies: - dependency-name: OpenAI dependency-version: 2.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/ai/quickstarts/snippets/assistants/AIAssistants.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ai/quickstarts/snippets/assistants/AIAssistants.csproj b/docs/ai/quickstarts/snippets/assistants/AIAssistants.csproj index ea95ce7db3461..b2e4de73baa1a 100644 --- a/docs/ai/quickstarts/snippets/assistants/AIAssistants.csproj +++ b/docs/ai/quickstarts/snippets/assistants/AIAssistants.csproj @@ -10,7 +10,7 @@ - + From ecee1183f9612297b134886f3cdaba0196953740 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:46:21 -0400 Subject: [PATCH 100/120] Bump the dotnet group with 2 updates (#54879) Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Localization from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Localization dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../extensions/snippets/localization/example/example.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/core/extensions/snippets/localization/example/example.csproj b/docs/core/extensions/snippets/localization/example/example.csproj index 42e05d9efd62d..ae383d541528e 100644 --- a/docs/core/extensions/snippets/localization/example/example.csproj +++ b/docs/core/extensions/snippets/localization/example/example.csproj @@ -9,8 +9,8 @@ - - + + From 45e975af8017e26fdd48032a689d8c240ec55385 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:46:32 -0400 Subject: [PATCH 101/120] Bump the dotnet group with 2 updates (#54873) Bumps Microsoft.Extensions.FileSystemGlobbing from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Hosting from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.FileSystemGlobbing dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Hosting dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../extensions/snippets/fileglobbing/example/example.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/core/extensions/snippets/fileglobbing/example/example.csproj b/docs/core/extensions/snippets/fileglobbing/example/example.csproj index 6871e1e56e24c..7d53301ff9632 100644 --- a/docs/core/extensions/snippets/fileglobbing/example/example.csproj +++ b/docs/core/extensions/snippets/fileglobbing/example/example.csproj @@ -59,8 +59,8 @@ - - + + From 41b2cdbc44879ac1050681ed55dbaaad76bbb711 Mon Sep 17 00:00:00 2001 From: "azure-sdk-automation[bot]" <191533747+azure-sdk-automation[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:47:07 -0400 Subject: [PATCH 102/120] Update package index with latest published versions (#54854) Co-authored-by: azure-sdk --- docs/azure/includes/dotnet-all.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index cf7bac980e943..6e8f6e6246c7a 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -493,12 +493,12 @@ | Microsoft.Azure.DataFactoryTestingFramework.Expressions | NuGet [0.2.7](https://www.nuget.org/packages/Microsoft.Azure.DataFactoryTestingFramework.Expressions/0.2.7) | | | | Microsoft.Azure.Functions.Worker.OpenTelemetry | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.OpenTelemetry/1.2.0) | | | | OpenTelemetry Profiler | NuGet [1.0.1-beta.7](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Profiler/1.0.1-beta.7) | | | -| Speech CLI | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.CLI/1.50.0) | | | -| Speech Extension Embedded SR | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.Embedded.SR/1.50.0) | | | -| Speech Extension Embedded TTS | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS/1.50.0) | | | -| Speech Extension MAS | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.MAS/1.50.0) | | | -| Speech Extension ONNX Runtime | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime/1.50.0) | | | -| Speech Extension Telemetry | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.Telemetry/1.50.0) | | | +| Speech CLI | NuGet [1.51.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.CLI/1.51.0) | | | +| Speech Extension Embedded SR | NuGet [1.51.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.Embedded.SR/1.51.0) | | | +| Speech Extension Embedded TTS | NuGet [1.51.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS/1.51.0) | | | +| Speech Extension MAS | NuGet [1.51.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.MAS/1.51.0) | | | +| Speech Extension ONNX Runtime | NuGet [1.51.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime/1.51.0) | | | +| Speech Extension Telemetry | NuGet [1.51.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.Telemetry/1.51.0) | | | | System Net Client Model | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/System.Net.ClientModel/1.0.0-beta.1) | | | | Unknown Display Name | NuGet [5.0.0-preview.1](https://www.nuget.org/packages/Azure.Functions.Cli.Abstractions/5.0.0-preview.1) | | | | Unknown Display Name | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Azure.Functions.Cli.Workloads.DotNet/1.0.0-preview.1) | | | @@ -590,8 +590,8 @@ | Search - Common | NuGet [10.1.0](https://www.nuget.org/packages/Microsoft.Azure.Search.Common/10.1.0) | | GitHub [10.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Search.Common_10.1.0/sdk/search/Microsoft.Azure.Search.Common/) | | Search - Data | NuGet [10.1.0](https://www.nuget.org/packages/Microsoft.Azure.Search.Data/10.1.0) | | GitHub [10.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Search.Data_10.1.0/sdk/search/Microsoft.Azure.Search.Data/) | | Search - Service | NuGet [10.1.0](https://www.nuget.org/packages/Microsoft.Azure.Search.Service/10.1.0) | | GitHub [10.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Search.Service_10.1.0/sdk/search/Microsoft.Azure.Search.Service/) | -| Speech | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech/1.50.0)
NuGet [1.47.0-beta.0.357883](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech/1.47.0-beta.0.357883) | | | -| Speech Remote Conversation | NuGet [1.50.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Remoteconversation/1.50.0) | | | +| Speech | NuGet [1.51.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech/1.51.0)
NuGet [1.47.0-beta.0.357883](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech/1.47.0-beta.0.357883) | | | +| Speech Remote Conversation | NuGet [1.51.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Remoteconversation/1.51.0) | | | | Speech Xamarin iOS | NuGet [1.25.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Xamarin.iOS/1.25.0) | | | | Spell Check | NuGet [4.1.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Language.SpellCheck/4.1.0-preview.1) | | GitHub [4.1.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Language.SpellCheck_4.1.0-preview.1/sdk/cognitiveservices/Language.SpellCheck) | | Spring Cloud Client | NuGet [2.0.0-preview.3](https://www.nuget.org/packages/Microsoft.Azure.SpringCloud.Client/2.0.0-preview.3) | | | From dd17663ad81c48475465f3af416d5c306823c66d Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Jul 2026 18:12:31 +0200 Subject: [PATCH 103/120] Migrate vector store docs from Microsoft.SemanticKernel.Connectors.* to CommunityToolkit.VectorData.* (#54993) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- docs/ai/vector-stores/define-your-data-model.md | 8 ++++---- .../vector-stores/how-to/build-vector-search-app.md | 8 ++++---- docs/ai/vector-stores/how-to/use-vector-stores.md | 4 ++-- .../how-to/vector-store-data-ingestion.md | 4 ++-- docs/ai/vector-stores/manage-data.md | 2 +- docs/ai/vector-stores/overview.md | 11 ++++------- .../chat-with-data/azure-openai/CloudService.cs | 2 +- .../snippets/chat-with-data/azure-openai/Program.cs | 2 +- .../chat-with-data/azure-openai/VectorDataAI.csproj | 2 +- .../snippets/chat-with-data/openai/CloudService.cs | 2 +- .../snippets/chat-with-data/openai/Program.cs | 2 +- .../chat-with-data/openai/VectorDataAI.csproj | 2 +- .../snippets/conceptual/VectorStoreSnippets.csproj | 7 +++---- .../snippets/conceptual/defining-your-data-model.cs | 2 +- .../snippets/conceptual/dynamic-data-model.cs | 2 +- docs/ai/vector-stores/snippets/how-to/Hotel.cs | 2 +- .../snippets/how-to/HowToSnippets.csproj | 4 ++-- docs/ai/vector-stores/snippets/how-to/Program.cs | 2 +- .../ai/vector-stores/snippets/how-to/PutItTogether.cs | 2 +- 19 files changed, 33 insertions(+), 37 deletions(-) diff --git a/docs/ai/vector-stores/define-your-data-model.md b/docs/ai/vector-stores/define-your-data-model.md index b15e63d5e594d..79389a89f49ad 100644 --- a/docs/ai/vector-stores/define-your-data-model.md +++ b/docs/ai/vector-stores/define-your-data-model.md @@ -127,7 +127,7 @@ Use the attrib It's also possible to use on properties that don't have a vector type, for example, a property of type `string`. When a property is decorated in this way, you need to provide an instance to the vector store. When upserting the record, the text that's in the `string` property is automatically converted and stored as a vector in the database. (It's not possible to retrieve a vector using this mechanism.) ```csharp -[VectorStoreVector(Dimensions: 4, DistanceFunction = DistanceFunction.CosineSimilarity, IndexKind = IndexKind.Hnsw)] +[VectorStoreVector(dimensions: 4, DistanceFunction = DistanceFunction.CosineSimilarity, IndexKind = IndexKind.Hnsw)] public string DescriptionEmbedding { get; set; } ``` @@ -138,7 +138,7 @@ The following table shows the parameters for `VectorStoreVectorAttribute`. | Parameter | Required | Description | |------------------------------------------------------------------------------------|:--------:|-------------| -| | Yes | The number of dimensions that the vector has. This is required when creating a vector index for a collection. | +| `dimensions` | Yes | The number of dimensions that the vector has. This is required when creating a vector index for a collection. Pass as a constructor argument: `[VectorStoreVector(dimensions: 1536)]`. | | | No | The type of index to index the vector with. Default varies by vector store type. | | | No | The type of function to use when doing vector comparison during vector search over this vector. Default varies by vector store type. | | | No | Can be used to supply an alternative name for the property in the database. This parameter is not supported by all providers, for example, where alternatives like `JsonPropertyNameAttribute` is supported. | @@ -174,7 +174,7 @@ Vector databases are all about storing *embeddings* - or numerical representatio You can define your vector property as `float[]` or `ReadOnlyMemory`, representing the embedding directly, and generate embeddings yourself before each operation: ```csharp -[VectorStoreVector(Dimensions: 1536)] +[VectorStoreVector(dimensions: 1536)] public ReadOnlyMemory? DescriptionEmbedding { get; set; } ``` @@ -196,7 +196,7 @@ The recommended approach is to configure an > embeddingGenerator = ...; @@ -85,22 +85,19 @@ class Movie [VectorStoreData] public string Title { get; set; } - [VectorStoreVector(Dimensions: 1536)] + [VectorStoreVector(dimensions: 1536)] public string Description { get; set; } } ``` ## Vector store providers -The `Microsoft.Extensions.VectorData.Abstractions` package defines the abstractions, and separate [provider packages](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/) provide implementations for specific vector databases. Choose the provider that matches your vector database, for example, [Microsoft.SemanticKernel.Connectors.AzureAISearch](https://www.nuget.org/packages/Microsoft.SemanticKernel.Connectors.AzureAISearch). - -> [!NOTE] -> Despite the inclusion of "SemanticKernel" in the package names, these providers have nothing to do with Semantic Kernel and are usable anywhere in .NET, including Agent Framework. +The `Microsoft.Extensions.VectorData.Abstractions` package defines the abstractions, and separate provider packages provide implementations for specific vector databases. Choose the provider that matches your vector database, for example, [CommunityToolkit.VectorData.AzureAISearch](https://www.nuget.org/packages/CommunityToolkit.VectorData.AzureAISearch). All providers implement the same and abstract classes, so you can switch between them without changing your application logic. > [!TIP] -> Use the in-memory provider ([Microsoft.SemanticKernel.Connectors.InMemory](https://www.nuget.org/packages/Microsoft.SemanticKernel.Connectors.InMemory)) during initial development/prototyping - it doesn't require any external service or configuration, and you can swap it out for a production provider later. Avoid using the InMemory provider for testing, as there can be important differences between this provider and your production database. Consider using [testcontainers](https://dotnet.testcontainers.org/) to run tests against your production database system. +> Use the in-memory provider ([CommunityToolkit.VectorData.InMemory](https://www.nuget.org/packages/CommunityToolkit.VectorData.InMemory)) during initial development/prototyping - it doesn't require any external service or configuration, and you can swap it out for a production provider later. Avoid using the InMemory provider for testing, as there can be important differences between this provider and your production database. Consider using [testcontainers](https://dotnet.testcontainers.org/) to run tests against your production database system. ## Related content diff --git a/docs/ai/vector-stores/snippets/chat-with-data/azure-openai/CloudService.cs b/docs/ai/vector-stores/snippets/chat-with-data/azure-openai/CloudService.cs index 44b3d72a86c83..8bba97b150ad3 100644 --- a/docs/ai/vector-stores/snippets/chat-with-data/azure-openai/CloudService.cs +++ b/docs/ai/vector-stores/snippets/chat-with-data/azure-openai/CloudService.cs @@ -14,7 +14,7 @@ internal class CloudService public string Description { get; set; } [VectorStoreVector( - Dimensions: 384, + dimensions: 384, DistanceFunction = DistanceFunction.CosineSimilarity)] public ReadOnlyMemory Vector { get; set; } } diff --git a/docs/ai/vector-stores/snippets/chat-with-data/azure-openai/Program.cs b/docs/ai/vector-stores/snippets/chat-with-data/azure-openai/Program.cs index 426e977d37e64..cb5b65de6005b 100644 --- a/docs/ai/vector-stores/snippets/chat-with-data/azure-openai/Program.cs +++ b/docs/ai/vector-stores/snippets/chat-with-data/azure-openai/Program.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.AI; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.VectorData; -using Microsoft.SemanticKernel.Connectors.InMemory; +using CommunityToolkit.VectorData.InMemory; using System.Linq; using VectorDataAI; diff --git a/docs/ai/vector-stores/snippets/chat-with-data/azure-openai/VectorDataAI.csproj b/docs/ai/vector-stores/snippets/chat-with-data/azure-openai/VectorDataAI.csproj index d2a9c4b4cfc60..fd9ce3938535a 100644 --- a/docs/ai/vector-stores/snippets/chat-with-data/azure-openai/VectorDataAI.csproj +++ b/docs/ai/vector-stores/snippets/chat-with-data/azure-openai/VectorDataAI.csproj @@ -14,7 +14,7 @@ - +
diff --git a/docs/ai/vector-stores/snippets/chat-with-data/openai/CloudService.cs b/docs/ai/vector-stores/snippets/chat-with-data/openai/CloudService.cs index 44b3d72a86c83..8bba97b150ad3 100644 --- a/docs/ai/vector-stores/snippets/chat-with-data/openai/CloudService.cs +++ b/docs/ai/vector-stores/snippets/chat-with-data/openai/CloudService.cs @@ -14,7 +14,7 @@ internal class CloudService public string Description { get; set; } [VectorStoreVector( - Dimensions: 384, + dimensions: 384, DistanceFunction = DistanceFunction.CosineSimilarity)] public ReadOnlyMemory Vector { get; set; } } diff --git a/docs/ai/vector-stores/snippets/chat-with-data/openai/Program.cs b/docs/ai/vector-stores/snippets/chat-with-data/openai/Program.cs index c43fe9f6781e0..d2d6a8ab864b4 100644 --- a/docs/ai/vector-stores/snippets/chat-with-data/openai/Program.cs +++ b/docs/ai/vector-stores/snippets/chat-with-data/openai/Program.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.AI; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.VectorData; -using Microsoft.SemanticKernel.Connectors.InMemory; +using CommunityToolkit.VectorData.InMemory; using OpenAI; using System.ClientModel; using VectorDataAI; diff --git a/docs/ai/vector-stores/snippets/chat-with-data/openai/VectorDataAI.csproj b/docs/ai/vector-stores/snippets/chat-with-data/openai/VectorDataAI.csproj index 9d1ab9069f6c2..c8fe66faf31b2 100644 --- a/docs/ai/vector-stores/snippets/chat-with-data/openai/VectorDataAI.csproj +++ b/docs/ai/vector-stores/snippets/chat-with-data/openai/VectorDataAI.csproj @@ -12,7 +12,7 @@ - +
diff --git a/docs/ai/vector-stores/snippets/conceptual/VectorStoreSnippets.csproj b/docs/ai/vector-stores/snippets/conceptual/VectorStoreSnippets.csproj index fcb52214d0132..fc4da01253496 100644 --- a/docs/ai/vector-stores/snippets/conceptual/VectorStoreSnippets.csproj +++ b/docs/ai/vector-stores/snippets/conceptual/VectorStoreSnippets.csproj @@ -11,11 +11,10 @@ - - - + + + -
diff --git a/docs/ai/vector-stores/snippets/conceptual/defining-your-data-model.cs b/docs/ai/vector-stores/snippets/conceptual/defining-your-data-model.cs index f1a03abf786ca..ca017fcb563b6 100644 --- a/docs/ai/vector-stores/snippets/conceptual/defining-your-data-model.cs +++ b/docs/ai/vector-stores/snippets/conceptual/defining-your-data-model.cs @@ -17,7 +17,7 @@ public class Hotel public required string Description { get; set; } // - [VectorStoreVector(Dimensions: 4, DistanceFunction = DistanceFunction.CosineSimilarity, IndexKind = IndexKind.Hnsw)] + [VectorStoreVector(dimensions: 4, DistanceFunction = DistanceFunction.CosineSimilarity, IndexKind = IndexKind.Hnsw)] public ReadOnlyMemory? DescriptionEmbedding { get; set; } // diff --git a/docs/ai/vector-stores/snippets/conceptual/dynamic-data-model.cs b/docs/ai/vector-stores/snippets/conceptual/dynamic-data-model.cs index c4c8f4fc499fd..3388dd6b5745d 100644 --- a/docs/ai/vector-stores/snippets/conceptual/dynamic-data-model.cs +++ b/docs/ai/vector-stores/snippets/conceptual/dynamic-data-model.cs @@ -1,5 +1,5 @@ using Microsoft.Extensions.VectorData; -using Microsoft.SemanticKernel.Connectors.Qdrant; +using CommunityToolkit.VectorData.Qdrant; using Qdrant.Client; public class DynamicDataModel diff --git a/docs/ai/vector-stores/snippets/how-to/Hotel.cs b/docs/ai/vector-stores/snippets/how-to/Hotel.cs index 632bffd5fe3ca..53e11824d2380 100644 --- a/docs/ai/vector-stores/snippets/how-to/Hotel.cs +++ b/docs/ai/vector-stores/snippets/how-to/Hotel.cs @@ -12,7 +12,7 @@ public record class Hotel [VectorStoreData(IsFullTextIndexed = true)] public string? Description { get; set; } - [VectorStoreVector(Dimensions: 1536, DistanceFunction = DistanceFunction.CosineSimilarity)] + [VectorStoreVector(dimensions: 1536, DistanceFunction = DistanceFunction.CosineSimilarity)] public ReadOnlyMemory? DescriptionEmbedding { get; set; } [VectorStoreData(IsIndexed = true)] diff --git a/docs/ai/vector-stores/snippets/how-to/HowToSnippets.csproj b/docs/ai/vector-stores/snippets/how-to/HowToSnippets.csproj index 96d5a548b0bb1..745167d1f4298 100644 --- a/docs/ai/vector-stores/snippets/how-to/HowToSnippets.csproj +++ b/docs/ai/vector-stores/snippets/how-to/HowToSnippets.csproj @@ -14,8 +14,8 @@ - - + +
diff --git a/docs/ai/vector-stores/snippets/how-to/Program.cs b/docs/ai/vector-stores/snippets/how-to/Program.cs index 9031980080dcc..72c53333d4f84 100644 --- a/docs/ai/vector-stores/snippets/how-to/Program.cs +++ b/docs/ai/vector-stores/snippets/how-to/Program.cs @@ -1,5 +1,5 @@ using Microsoft.Extensions.VectorData; -using Microsoft.SemanticKernel.Connectors.InMemory; +using CommunityToolkit.VectorData.InMemory; // // Create an in-memory vector store (no external service required). diff --git a/docs/ai/vector-stores/snippets/how-to/PutItTogether.cs b/docs/ai/vector-stores/snippets/how-to/PutItTogether.cs index 82546657127b9..301fb77c75c0c 100644 --- a/docs/ai/vector-stores/snippets/how-to/PutItTogether.cs +++ b/docs/ai/vector-stores/snippets/how-to/PutItTogether.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.AI; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.VectorData; -using Microsoft.SemanticKernel.Connectors.Redis; +using CommunityToolkit.VectorData.Redis; using VectorIngest; public class PutItAllTogether From efce12e156c194ee89dce679d0a1289a3f221375 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:51:57 -0700 Subject: [PATCH 104/120] Update obsolete receiver comment in C# 14 extension block sample (#54994) * Initial plan * Update extension block receiver comment * Apply suggestions from code review Co-authored-by: Bill Wagner --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Bill Wagner --- .../snippets/ExtensionMembers/CustomExtensionMembers.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/csharp/programming-guide/classes-and-structs/snippets/ExtensionMembers/CustomExtensionMembers.cs b/docs/csharp/programming-guide/classes-and-structs/snippets/ExtensionMembers/CustomExtensionMembers.cs index 3adc79b6718ce..ffcee5362483a 100644 --- a/docs/csharp/programming-guide/classes-and-structs/snippets/ExtensionMembers/CustomExtensionMembers.cs +++ b/docs/csharp/programming-guide/classes-and-structs/snippets/ExtensionMembers/CustomExtensionMembers.cs @@ -125,7 +125,8 @@ public static class AccountExtensions { extension(ref Account account) { - // ref keyword can also appear before the this keyword + // account is the receiver (analogous to the this parameter in extension methods). + // The ref modifier on the extension block means the receiver is passed by reference. public void Deposit(float amount) { account.balance += amount; From c12a55995b1f990a88e8f85fde82e002917678eb Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:56:50 -0700 Subject: [PATCH 105/120] Add CreateTestClass/DeleteTestClass P/Invoke declarations to marshalling docs snippet (#54850) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- .../csharp/PInvokeLibManaged/NativeMethods.cs | 6 ++++++ .../csharp/PInvokeLibManaged/PInvokeLibManaged.csproj | 1 + .../vb/PInvokeLibManaged/NativeMethods.vb | 8 ++++++++ 3 files changed, 15 insertions(+) diff --git a/docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/csharp/PInvokeLibManaged/NativeMethods.cs b/docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/csharp/PInvokeLibManaged/NativeMethods.cs index 95ad89611b78d..62856b31866d4 100644 --- a/docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/csharp/PInvokeLibManaged/NativeMethods.cs +++ b/docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/csharp/PInvokeLibManaged/NativeMethods.cs @@ -86,5 +86,11 @@ internal static extern int TestArrayOfStructs2( [DllImport("PinvokeLib.dll", CallingConvention = CallingConvention.Cdecl)] internal static extern void TestArrayInStruct(ref MyArrayStruct myStruct); + + [DllImport("PinvokeLib.dll", CallingConvention = CallingConvention.Cdecl)] + internal static extern unsafe void* CreateTestClass(); + + [DllImport("PinvokeLib.dll", CallingConvention = CallingConvention.Cdecl)] + internal static extern unsafe void DeleteTestClass(void* instance); } // diff --git a/docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/csharp/PInvokeLibManaged/PInvokeLibManaged.csproj b/docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/csharp/PInvokeLibManaged/PInvokeLibManaged.csproj index ed9781c223ab9..598db52879f65 100644 --- a/docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/csharp/PInvokeLibManaged/PInvokeLibManaged.csproj +++ b/docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/csharp/PInvokeLibManaged/PInvokeLibManaged.csproj @@ -5,6 +5,7 @@ net10.0 enable enable + true diff --git a/docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/vb/PInvokeLibManaged/NativeMethods.vb b/docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/vb/PInvokeLibManaged/NativeMethods.vb index bbccef564a151..3234efc5ef2be 100644 --- a/docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/vb/PInvokeLibManaged/NativeMethods.vb +++ b/docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/vb/PInvokeLibManaged/NativeMethods.vb @@ -90,5 +90,13 @@ Friend Class NativeMethods Friend Shared Sub TestArrayInStruct(ByRef myStruct As MyArrayStruct) End Sub + + + Friend Shared Function CreateTestClass() As IntPtr + End Function + + + Friend Shared Sub DeleteTestClass(ByVal instance As IntPtr) + End Sub End Class ' From 84a5c9516d01ccd8f0aebbfe39529d10db2c986a Mon Sep 17 00:00:00 2001 From: "azure-sdk-automation[bot]" <191533747+azure-sdk-automation[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 10:56:32 -0700 Subject: [PATCH 106/120] Update package index with latest published versions (#54995) Co-authored-by: azure-sdk --- docs/azure/includes/dotnet-all.md | 12 ++++++------ docs/azure/includes/dotnet-new.md | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index 6e8f6e6246c7a..574ccc41af79b 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -103,12 +103,12 @@ | Schema Registry | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Data.SchemaRegistry/1.4.0) | [docs](/dotnet/api/overview/azure/Data.SchemaRegistry-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.SchemaRegistry_1.4.0/sdk/schemaregistry/Azure.Data.SchemaRegistry/) | | Schema Registry - Avro | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/1.0.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.1/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/) | | Service Bus | NuGet [7.20.2](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.20.2) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme) | GitHub [7.20.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.20.2/sdk/servicebus/Azure.Messaging.ServiceBus/) | -| Storage - Blobs | NuGet [12.29.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.29.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.29.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.29.1/sdk/storage/Azure.Storage.Blobs/) | +| Storage - Blobs | NuGet [12.29.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.29.1)
NuGet [12.30.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.30.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.29.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.29.1/sdk/storage/Azure.Storage.Blobs/)
GitHub [12.30.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.30.0-beta.1/sdk/storage/Azure.Storage.Blobs/) | | Storage - Blobs Batch | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.26.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.26.0/sdk/storage/Azure.Storage.Blobs.Batch/) | | Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.63](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.63) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.63](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.63/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) | -| Storage - Files Data Lake | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.27.1) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.27.1/sdk/storage/Azure.Storage.Files.DataLake/) | -| Storage - Files Share | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.27.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.27.1/sdk/storage/Azure.Storage.Files.Shares/) | -| Storage - Queues | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.27.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.27.1/sdk/storage/Azure.Storage.Queues/) | +| Storage - Files Data Lake | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.27.1)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.27.1/sdk/storage/Azure.Storage.Files.DataLake/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.28.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/) | +| Storage - Files Share | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.27.1)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.27.1/sdk/storage/Azure.Storage.Files.Shares/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.28.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/) | +| Storage - Queues | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.27.1)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.27.1/sdk/storage/Azure.Storage.Queues/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.28.0-beta.1/sdk/storage/Azure.Storage.Queues/) | | Synapse - AccessControl | NuGet [1.0.0-preview.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.AccessControl/1.0.0-preview.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.AccessControl-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.AccessControl_1.0.0-preview.5/sdk/synapse/Azure.Analytics.Synapse.AccessControl/) | | Synapse - Artifacts | NuGet [1.0.0-preview.23](https://www.nuget.org/packages/Azure.Analytics.Synapse.Artifacts/1.0.0-preview.23) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Artifacts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.23](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Artifacts_1.0.0-preview.23/sdk/synapse/Azure.Analytics.Synapse.Artifacts/) | | Synapse - Managed Private Endpoints | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.ManagedPrivateEndpoints/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.ManagedPrivateEndpoints-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.ManagedPrivateEndpoints_1.0.0-beta.5/sdk/synapse/Azure.Analytics.Synapse.ManagedPrivateEndpoints/) | @@ -140,7 +140,7 @@ | Functions extension for Azure Tables | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Tables/1.4.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Tables-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Tables_1.4.0/sdk/tables/Microsoft.Azure.WebJobs.Extensions.Tables/) | | Key Encryptor for .NET Data Protection | NuGet [1.6.3](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Keys/1.6.3) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Keys-readme) | GitHub [1.6.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Keys_1.6.3/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Keys/) | | Secrets Configuration Provider for .NET | NuGet [1.5.1](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.5.1) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.5.1/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) | -| Storage - Common | NuGet [12.28.0](https://www.nuget.org/packages/Azure.Storage.Common/12.28.0) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.28.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.28.0/sdk/storage/Azure.Storage.Common/) | +| Storage - Common | NuGet [12.28.0](https://www.nuget.org/packages/Azure.Storage.Common/12.28.0)
NuGet [12.29.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Common/12.29.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.28.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.28.0/sdk/storage/Azure.Storage.Common/)
GitHub [12.29.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.29.0-beta.1/sdk/storage/Azure.Storage.Common/) | | WebJobs Extensions - Event Grid | NuGet [3.5.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid/3.5.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventGrid-readme) | GitHub [3.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventGrid_3.5.0/sdk/eventgrid/Microsoft.Azure.WebJobs.Extensions.EventGrid/) | | WebJobs Extensions - Event Hubs | NuGet [6.5.3](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs/6.5.3) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventHubs-readme) | GitHub [6.5.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5.3/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/) | | WebJobs Extensions - Service Bus | NuGet [5.17.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ServiceBus/5.17.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.ServiceBus-readme) | GitHub [5.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.ServiceBus_5.17.0/sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/) | @@ -206,7 +206,7 @@ | Resource Management - API Center | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ApiCenter/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ApiCenter/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ApiCenter-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApiCenter_1.0.0/sdk/apicenter/Azure.ResourceManager.ApiCenter/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApiCenter_1.1.0-beta.1/sdk/apicenter/Azure.ResourceManager.ApiCenter/) | | Resource Management - API Management | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.ApiManagement/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ApiManagement-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApiManagement_1.3.1/sdk/apimanagement/Azure.ResourceManager.ApiManagement/) | | Resource Management - App Compliance Automation | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.AppComplianceAutomation/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.AppComplianceAutomation-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppComplianceAutomation_1.0.2/sdk/appcomplianceautomation/Azure.ResourceManager.AppComplianceAutomation/) | -| Resource Management - App Configuration | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.AppConfiguration/1.4.1)
NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.AppConfiguration/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppConfiguration-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppConfiguration_1.4.1/sdk/appconfiguration/Azure.ResourceManager.AppConfiguration/)
GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppConfiguration_1.5.0-beta.1/sdk/appconfiguration/Azure.ResourceManager.AppConfiguration/) | +| Resource Management - App Configuration | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.AppConfiguration/1.4.1)
NuGet [1.5.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.AppConfiguration/1.5.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.AppConfiguration-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppConfiguration_1.4.1/sdk/appconfiguration/Azure.ResourceManager.AppConfiguration/)
GitHub [1.5.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppConfiguration_1.5.0-beta.2/sdk/appconfiguration/Azure.ResourceManager.AppConfiguration/) | | Resource Management - App Service | NuGet [1.5.0](https://www.nuget.org/packages/Azure.ResourceManager.AppService/1.5.0) | [docs](/dotnet/api/overview/azure/ResourceManager.AppService-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppService_1.5.0/sdk/websites/Azure.ResourceManager.AppService/) | | Resource Management - Application Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ApplicationInsights/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ApplicationInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApplicationInsights_1.1.0/sdk/applicationinsights/Azure.ResourceManager.ApplicationInsights/) | | Resource Management - Appnetwork | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.AppNetwork/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppNetwork-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppNetwork_1.0.0-beta.1/sdk/appnetwork/Azure.ResourceManager.AppNetwork/) | diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md index 6ea7a9cad4d85..87920bb47ce97 100644 --- a/docs/azure/includes/dotnet-new.md +++ b/docs/azure/includes/dotnet-new.md @@ -115,12 +115,12 @@ | Schema Registry | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Data.SchemaRegistry/1.4.0) | [docs](/dotnet/api/overview/azure/Data.SchemaRegistry-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.SchemaRegistry_1.4.0/sdk/schemaregistry/Azure.Data.SchemaRegistry/) | | Schema Registry - Avro | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/1.0.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.1/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/) | | Service Bus | NuGet [7.20.2](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.20.2) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme) | GitHub [7.20.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.20.2/sdk/servicebus/Azure.Messaging.ServiceBus/) | -| Storage - Blobs | NuGet [12.29.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.29.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.29.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.29.1/sdk/storage/Azure.Storage.Blobs/) | +| Storage - Blobs | NuGet [12.29.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.29.1)
NuGet [12.30.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.30.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.29.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.29.1/sdk/storage/Azure.Storage.Blobs/)
GitHub [12.30.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.30.0-beta.1/sdk/storage/Azure.Storage.Blobs/) | | Storage - Blobs Batch | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.26.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.26.0/sdk/storage/Azure.Storage.Blobs.Batch/) | | Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.63](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.63) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.63](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.63/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) | -| Storage - Files Data Lake | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.27.1) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.27.1/sdk/storage/Azure.Storage.Files.DataLake/) | -| Storage - Files Share | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.27.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.27.1/sdk/storage/Azure.Storage.Files.Shares/) | -| Storage - Queues | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.27.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.27.1/sdk/storage/Azure.Storage.Queues/) | +| Storage - Files Data Lake | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.27.1)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.27.1/sdk/storage/Azure.Storage.Files.DataLake/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.28.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/) | +| Storage - Files Share | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.27.1)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.27.1/sdk/storage/Azure.Storage.Files.Shares/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.28.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/) | +| Storage - Queues | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.27.1)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.27.1/sdk/storage/Azure.Storage.Queues/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.28.0-beta.1/sdk/storage/Azure.Storage.Queues/) | | Synapse - AccessControl | NuGet [1.0.0-preview.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.AccessControl/1.0.0-preview.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.AccessControl-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.AccessControl_1.0.0-preview.5/sdk/synapse/Azure.Analytics.Synapse.AccessControl/) | | Synapse - Artifacts | NuGet [1.0.0-preview.23](https://www.nuget.org/packages/Azure.Analytics.Synapse.Artifacts/1.0.0-preview.23) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Artifacts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.23](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Artifacts_1.0.0-preview.23/sdk/synapse/Azure.Analytics.Synapse.Artifacts/) | | Synapse - Managed Private Endpoints | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.ManagedPrivateEndpoints/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.ManagedPrivateEndpoints-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.ManagedPrivateEndpoints_1.0.0-beta.5/sdk/synapse/Azure.Analytics.Synapse.ManagedPrivateEndpoints/) | @@ -153,7 +153,7 @@ | Functions extension for Azure Tables | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Tables/1.4.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Tables-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Tables_1.4.0/sdk/tables/Microsoft.Azure.WebJobs.Extensions.Tables/) | | Key Encryptor for .NET Data Protection | NuGet [1.6.3](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Keys/1.6.3) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Keys-readme) | GitHub [1.6.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Keys_1.6.3/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Keys/) | | Secrets Configuration Provider for .NET | NuGet [1.5.1](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.5.1) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.5.1/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) | -| Storage - Common | NuGet [12.28.0](https://www.nuget.org/packages/Azure.Storage.Common/12.28.0) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.28.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.28.0/sdk/storage/Azure.Storage.Common/) | +| Storage - Common | NuGet [12.28.0](https://www.nuget.org/packages/Azure.Storage.Common/12.28.0)
NuGet [12.29.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Common/12.29.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.28.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.28.0/sdk/storage/Azure.Storage.Common/)
GitHub [12.29.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.29.0-beta.1/sdk/storage/Azure.Storage.Common/) | | WebJobs Extensions - Event Grid | NuGet [3.5.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid/3.5.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventGrid-readme) | GitHub [3.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventGrid_3.5.0/sdk/eventgrid/Microsoft.Azure.WebJobs.Extensions.EventGrid/) | | WebJobs Extensions - Event Hubs | NuGet [6.5.3](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs/6.5.3) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventHubs-readme) | GitHub [6.5.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5.3/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/) | | WebJobs Extensions - Service Bus | NuGet [5.17.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ServiceBus/5.17.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.ServiceBus-readme) | GitHub [5.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.ServiceBus_5.17.0/sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/) | @@ -219,7 +219,7 @@ | Resource Management - API Center | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ApiCenter/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ApiCenter/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ApiCenter-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApiCenter_1.0.0/sdk/apicenter/Azure.ResourceManager.ApiCenter/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApiCenter_1.1.0-beta.1/sdk/apicenter/Azure.ResourceManager.ApiCenter/) | | Resource Management - API Management | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.ApiManagement/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ApiManagement-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApiManagement_1.3.1/sdk/apimanagement/Azure.ResourceManager.ApiManagement/) | | Resource Management - App Compliance Automation | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.AppComplianceAutomation/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.AppComplianceAutomation-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppComplianceAutomation_1.0.2/sdk/appcomplianceautomation/Azure.ResourceManager.AppComplianceAutomation/) | -| Resource Management - App Configuration | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.AppConfiguration/1.4.1)
NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.AppConfiguration/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppConfiguration-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppConfiguration_1.4.1/sdk/appconfiguration/Azure.ResourceManager.AppConfiguration/)
GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppConfiguration_1.5.0-beta.1/sdk/appconfiguration/Azure.ResourceManager.AppConfiguration/) | +| Resource Management - App Configuration | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.AppConfiguration/1.4.1)
NuGet [1.5.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.AppConfiguration/1.5.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.AppConfiguration-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppConfiguration_1.4.1/sdk/appconfiguration/Azure.ResourceManager.AppConfiguration/)
GitHub [1.5.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppConfiguration_1.5.0-beta.2/sdk/appconfiguration/Azure.ResourceManager.AppConfiguration/) | | Resource Management - App Platform | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.AppPlatform/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.AppPlatform-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppPlatform_1.1.2/sdk/appplatform/Azure.ResourceManager.AppPlatform/) | | Resource Management - App Service | NuGet [1.5.0](https://www.nuget.org/packages/Azure.ResourceManager.AppService/1.5.0) | [docs](/dotnet/api/overview/azure/ResourceManager.AppService-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppService_1.5.0/sdk/websites/Azure.ResourceManager.AppService/) | | Resource Management - Application Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ApplicationInsights/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ApplicationInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApplicationInsights_1.1.0/sdk/applicationinsights/Azure.ResourceManager.ApplicationInsights/) | From a8b6807f38881fda9a25653d614e1174d3fcb038 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Jul 2026 11:09:30 -0700 Subject: [PATCH 107/120] Breaking change docs: NuGet pack warns NU5052 for non-conformant package IDs (.NET 11) (#54996) * Initial plan * Add breaking change article for NuGet NU5052 package ID warning in .NET 11 * Apply suggestions from code review Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> * Update docs/core/compatibility/sdk/11/nuget-pack-nu5052-packageid.md --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- docs/core/compatibility/11.md | 1 + .../sdk/11/nuget-pack-nu5052-packageid.md | 50 +++++++++++++++++++ docs/core/compatibility/toc.yml | 2 + 3 files changed, 53 insertions(+) create mode 100644 docs/core/compatibility/sdk/11/nuget-pack-nu5052-packageid.md diff --git a/docs/core/compatibility/11.md b/docs/core/compatibility/11.md index 7450fa0d83314..369f0af6dd2a0 100644 --- a/docs/core/compatibility/11.md +++ b/docs/core/compatibility/11.md @@ -98,5 +98,6 @@ See [Breaking changes in EF Core 11](/ef/core/what-is-new/ef-core-11.0/breaking- | [dnx scripts bypass global.json SDK selection](sdk/11/dnx-scripts-bypass-global-json.md) | Behavioral change | | [mono launch target not set for .NET Framework apps](sdk/11/mono-launch-target-removed.md) | Behavioral change | | [NU1703 warns for packages that use deprecated MonoAndroid framework assets](sdk/11/nu1703-deprecated-monoandroid-framework.md) | Source incompatible | +| [NuGet pack warns for package IDs with restricted characters](sdk/11/nuget-pack-nu5052-packageid.md) | Behavioral change | | [Template engine packages no longer support netstandard2.0](sdk/11/template-engine-netstandard.md) | Binary/source incompatible | | [VSTest removes dependency on Newtonsoft.Json](sdk/11/vstest-removes-newtonsoft-json.md) | Binary/source incompatible | diff --git a/docs/core/compatibility/sdk/11/nuget-pack-nu5052-packageid.md b/docs/core/compatibility/sdk/11/nuget-pack-nu5052-packageid.md new file mode 100644 index 0000000000000..04184765851d6 --- /dev/null +++ b/docs/core/compatibility/sdk/11/nuget-pack-nu5052-packageid.md @@ -0,0 +1,50 @@ +--- +title: "Breaking change: NuGet pack warns for package IDs with restricted characters" +description: "Learn about the breaking change in .NET 11 where NuGet's pack command emits warning NU5052 for package IDs that use characters outside the restricted set." +ms.date: 07/22/2026 +ai-usage: ai-assisted +--- + +# NuGet pack warns for package IDs with restricted characters + +Starting in .NET 11, `dotnet pack` emits warning **NU5052** when a package ID contains characters outside the restricted character set enforced by nuget.org. + +## Version introduced + +.NET 11 Preview 6 + +## Previous behavior + +Previously, `dotnet pack` produced a package for any package ID that the legacy NuGet ID rules accepted, including IDs with characters outside ASCII letters, digits, dots, and dashes, or with consecutive `.` or `-` characters. + +## New behavior + +Starting in .NET 11 (with `SdkAnalysisLevel >= 11.0.100`), packing a project whose `PackageId` doesn't meet the restricted rules emits warning **NU5052**. A valid package ID: + +- Must start with a letter, digit, or underscore (`_`). +- Can contain only ASCII letters, digits, dots (`.`), dashes (`-`), and underscores (`_`). +- Can't contain consecutive `.` or `-` characters. +- Must be 100 characters or fewer. + +## Type of breaking change + +This change is a [behavioral change](../../categories.md#behavioral-change). + +## Reason for change + +NuGet derives strings such as URLs and file-system paths from a normalized version of the package ID. Normalization relies on built-in string libraries that are inconsistent across .NET Framework, modern .NET, Windows, and Linux, so two visibly different IDs can normalize to the same string. Restricting the allowed character set, as npm, PyPI, and other registries have done, closes this security and branding gap. + +For more information, see the [NuGet announcement](https://github.com/NuGet/Announcements/issues/75). + +## Recommended action + +Rename the package to an ID within the restricted character set—for example, transliterate non-ASCII characters to their ASCII equivalents (`Müller.Logging` becomes `Mueller.Logging`). Then deprecate the old package ID and point it at the new one. + +Because this warning doesn't block the build, you can also suppress it: + +- Add `NU5052` to the project file. +- Set `SdkAnalysisLevel` to a version below `11.0.100`. + +## Affected APIs + +None. diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml index 6117c83450f24..438745e3a1f56 100644 --- a/docs/core/compatibility/toc.yml +++ b/docs/core/compatibility/toc.yml @@ -78,6 +78,8 @@ items: href: sdk/11/mono-launch-target-removed.md - name: NU1703 warns for packages that use deprecated MonoAndroid framework assets href: sdk/11/nu1703-deprecated-monoandroid-framework.md + - name: NuGet pack warns for package IDs with restricted characters + href: sdk/11/nuget-pack-nu5052-packageid.md - name: Template engine packages no longer support netstandard2.0 href: sdk/11/template-engine-netstandard.md - name: VSTest removes dependency on Newtonsoft.Json From 9976f1d5b4129f31a33e8fef81e6ac5b1671f0eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 11:13:49 -0700 Subject: [PATCH 108/120] Bump the dotnet group with 1 update (#54928) Bumps Microsoft.ServiceFabric.Services from 8.5.116 to 8.6.235 --- updated-dependencies: - dependency-name: Microsoft.ServiceFabric.Services dependency-version: 8.6.235 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../stateless/Orleans.ServiceFabric.Stateless.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/orleans/deployment/snippets/service-fabric/stateless/Orleans.ServiceFabric.Stateless.csproj b/docs/orleans/deployment/snippets/service-fabric/stateless/Orleans.ServiceFabric.Stateless.csproj index e0e2ce7594430..3cc4cbe4fb111 100644 --- a/docs/orleans/deployment/snippets/service-fabric/stateless/Orleans.ServiceFabric.Stateless.csproj +++ b/docs/orleans/deployment/snippets/service-fabric/stateless/Orleans.ServiceFabric.Stateless.csproj @@ -10,7 +10,7 @@ - + From 38e8153053fcef275c7da5fed7f601255258dc27 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 11:14:38 -0700 Subject: [PATCH 109/120] Bump the dotnet group with 2 updates (#54987) Bumps Microsoft.Extensions.Http from 10.0.9 to 10.0.10 Bumps Microsoft.Extensions.Logging.Abstractions from 10.0.9 to 10.0.10 --- updated-dependencies: - dependency-name: Microsoft.Extensions.Http dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.Extensions.Logging.Abstractions dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/orleans/Directory.Build.props | 2 +- .../BroadcastChannel.Silo/BroadcastChannel.Silo.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/orleans/Directory.Build.props b/docs/orleans/Directory.Build.props index 56379750a2e76..0ea460721047a 100644 --- a/docs/orleans/Directory.Build.props +++ b/docs/orleans/Directory.Build.props @@ -17,7 +17,7 @@ - +
diff --git a/docs/orleans/streaming/snippets/broadcastchannel/BroadcastChannel.Silo/BroadcastChannel.Silo.csproj b/docs/orleans/streaming/snippets/broadcastchannel/BroadcastChannel.Silo/BroadcastChannel.Silo.csproj index c93535304ffe1..d4e2dd76dc0f7 100644 --- a/docs/orleans/streaming/snippets/broadcastchannel/BroadcastChannel.Silo/BroadcastChannel.Silo.csproj +++ b/docs/orleans/streaming/snippets/broadcastchannel/BroadcastChannel.Silo/BroadcastChannel.Silo.csproj @@ -5,7 +5,7 @@ - + From 0db4428e570fc4184932c69b906a83ea51e9a499 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 11:15:59 -0700 Subject: [PATCH 110/120] Bump the dotnet group with 1 update (#54991) Bumps OpenTelemetry.Instrumentation.Runtime from 1.15.1 to 1.16.0 --- updated-dependencies: - dependency-name: OpenTelemetry.Instrumentation.Runtime dependency-version: 1.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../host/snippets/aspire/ServiceDefaults/ServiceDefaults.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/orleans/host/snippets/aspire/ServiceDefaults/ServiceDefaults.csproj b/docs/orleans/host/snippets/aspire/ServiceDefaults/ServiceDefaults.csproj index 7243f55396099..76f55b3bedfb3 100644 --- a/docs/orleans/host/snippets/aspire/ServiceDefaults/ServiceDefaults.csproj +++ b/docs/orleans/host/snippets/aspire/ServiceDefaults/ServiceDefaults.csproj @@ -10,7 +10,7 @@ - + From 170e9c41febcd82c0f4388b09520edbad658bc13 Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Wed, 22 Jul 2026 11:30:26 -0700 Subject: [PATCH 111/120] Add separate workflow for preview link generation (#54998) --- .../workflows/check-for-build-warnings.yml | 4 +--- .github/workflows/generate-preview-links.yml | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/generate-preview-links.yml diff --git a/.github/workflows/check-for-build-warnings.yml b/.github/workflows/check-for-build-warnings.yml index 839162daa8eef..87297757e0f7f 100644 --- a/.github/workflows/check-for-build-warnings.yml +++ b/.github/workflows/check-for-build-warnings.yml @@ -1,6 +1,6 @@ name: 'OPS status checker' -on: +on: pull_request_target: types: [opened, synchronize, reopened] @@ -23,5 +23,3 @@ jobs: - uses: dotnet/docs-tools/actions/status-checker@main with: repo_token: ${{ secrets.GITHUB_TOKEN }} - docs_path: "docs" - url_base_path: "dotnet" diff --git a/.github/workflows/generate-preview-links.yml b/.github/workflows/generate-preview-links.yml new file mode 100644 index 0000000000000..3a0c780db4acb --- /dev/null +++ b/.github/workflows/generate-preview-links.yml @@ -0,0 +1,24 @@ +name: 'Preview link generator' + +on: + pull_request_target: + types: [opened, synchronize, reopened] + +jobs: + preview_link_generator_job: + name: Generate preview link table + runs-on: ubuntu-latest + permissions: + statuses: read + pull-requests: write + steps: + - name: Harden Runner + uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 + with: + egress-policy: audit + + - uses: dotnet/docs-tools/actions/preview-link-generator@main + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + docs_path: "docs" + url_base_path: "dotnet" From 872d137eefdecdd5a70ba7cd014d098c23376255 Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Wed, 22 Jul 2026 14:26:01 -0700 Subject: [PATCH 112/120] Add permissions to generate preview links (#55000) Add permissions for reading contents in the workflow. --- .github/workflows/generate-preview-links.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/generate-preview-links.yml b/.github/workflows/generate-preview-links.yml index 3a0c780db4acb..bb1271b9d863d 100644 --- a/.github/workflows/generate-preview-links.yml +++ b/.github/workflows/generate-preview-links.yml @@ -4,6 +4,9 @@ on: pull_request_target: types: [opened, synchronize, reopened] +permissions: + contents: read + jobs: preview_link_generator_job: name: Generate preview link table From 29d30387ecbb9a0f6f193a846bc759606f1ad21e Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Jul 2026 14:40:46 -0700 Subject: [PATCH 113/120] Clarify .NET package and platform requirements for the data protection sample (#54853) * Initial plan * Clarify data protection package requirements * Add example note for ProtectedMemory limitation * Remove github copilots work and redesign with copilot locally * Edit pass * Remove missed id * Swap .net/.net framework; remove if applicable clause * Minor --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Andy De George (from Dev Box) --- .../security/how-to-use-data-protection.md | 39 ++++---- .../csharp/DataProtectionSample.csproj | 42 +++++++++ .../framework/csharp}/sample.cs | 22 ++--- .../framework/csharp/snippets.5000.json | 3 + .../framework/vb/DataProtectionSample.vbproj | 56 ++++++++++++ .../framework}/vb/sample.vb | 45 +++------- .../framework/vb/snippets.5000.json | 3 + .../net/csharp/DataProtectionSample.csproj | 14 +++ .../net/csharp/sample.cs | 90 +++++++++++++++++++ .../net/vb/DataProtectionSample.vbproj | 13 +++ .../net/vb/sample.vb | 90 +++++++++++++++++++ .../DPAPI-HowTO/cs/sample.csproj | 12 --- 12 files changed, 356 insertions(+), 73 deletions(-) create mode 100644 docs/standard/security/snippets/how-to-use-data-protection/framework/csharp/DataProtectionSample.csproj rename {samples/snippets/csharp/VS_Snippets_CLR/DPAPI-HowTO/cs => docs/standard/security/snippets/how-to-use-data-protection/framework/csharp}/sample.cs (88%) create mode 100644 docs/standard/security/snippets/how-to-use-data-protection/framework/csharp/snippets.5000.json create mode 100644 docs/standard/security/snippets/how-to-use-data-protection/framework/vb/DataProtectionSample.vbproj rename {samples/snippets/visualbasic/VS_Snippets_CLR/DPAPI-HowTO => docs/standard/security/snippets/how-to-use-data-protection/framework}/vb/sample.vb (80%) create mode 100644 docs/standard/security/snippets/how-to-use-data-protection/framework/vb/snippets.5000.json create mode 100644 docs/standard/security/snippets/how-to-use-data-protection/net/csharp/DataProtectionSample.csproj create mode 100644 docs/standard/security/snippets/how-to-use-data-protection/net/csharp/sample.cs create mode 100644 docs/standard/security/snippets/how-to-use-data-protection/net/vb/DataProtectionSample.vbproj create mode 100644 docs/standard/security/snippets/how-to-use-data-protection/net/vb/sample.vb delete mode 100644 samples/snippets/csharp/VS_Snippets_CLR/DPAPI-HowTO/cs/sample.csproj diff --git a/docs/standard/security/how-to-use-data-protection.md b/docs/standard/security/how-to-use-data-protection.md index 82d6a27053a4f..30a8d9c228cb1 100644 --- a/docs/standard/security/how-to-use-data-protection.md +++ b/docs/standard/security/how-to-use-data-protection.md @@ -1,7 +1,8 @@ --- -title: "How to: Use Data Protection" +title: "How to use data protection" description: Learn how to use data protection by accessing the data protection API (DPAPI) in .NET. -ms.date: 07/14/2020 +ms.date: 07/22/2026 +ai-usage: ai-assisted dev_langs: - "csharp" - "vb" @@ -17,16 +18,16 @@ helpviewer_keywords: - "data [.NET], encryption" ms.assetid: 606698b0-cb1a-42ca-beeb-0bea34205d20 --- -# How to: Use Data Protection +# How to use data protection > [!NOTE] > This article applies to Windows. > > For information about ASP.NET Core, see [ASP.NET Core Data Protection](/aspnet/core/security/data-protection/introduction). -.NET provides access to the data protection API (DPAPI), which allows you to encrypt data using information from the current user account or computer. When you use the DPAPI, you alleviate the difficult problem of explicitly generating and storing a cryptographic key. +.NET provides access to the data protection API (DPAPI), which lets you encrypt data using information from the current user account or computer. When you use the DPAPI, you avoid the difficult problem of explicitly generating and storing a cryptographic key. -Use the class to encrypt a copy of an array of bytes. You can specify that data encrypted by the current user account can be decrypted only by the same user account, or you can specify that data encrypted by the current user account can be decrypted by any account on the computer. See the enumeration for a detailed description of options. +Use the class to encrypt a copy of an array of bytes. You can specify that only the same user account can decrypt the data, or that any account on the computer can decrypt it. For a detailed description of options, see the enumeration. ## Encrypt data to a file or stream using data protection @@ -44,24 +45,32 @@ Use the class to encrypt a cop ## Example -The following code example demonstrates two forms of encryption and decryption. First, the code example encrypts and then decrypts an in-memory array of bytes. Next, the code example encrypts a copy of a byte array, saves it to a file, loads the data back from the file, and then decrypts the data. The example displays the original data, the encrypted data, and the decrypted data. +The following code example shows two forms of encryption and decryption. First, the code encrypts and then decrypts an in-memory array of bytes. Next, the code encrypts a copy of a byte array, saves it to a file, loads the data back from the file, and then decrypts the data. The example displays the original data, the encrypted data, and the decrypted data. -[!code-csharp[DPAPI-HowTO#1](../../../samples/snippets/csharp/VS_Snippets_CLR/DPAPI-HowTO/cs/sample.cs#1)] -[!code-vb[DPAPI-HowTO#1](../../../samples/snippets/visualbasic/VS_Snippets_CLR/DPAPI-HowTO/vb/sample.vb#1)] +> [!IMPORTANT] +> is only available for .NET Framework. is available on .NET and .NET Framework. -## Compiling the Code +### [.NET](#tab/net) -This example compiles and runs only when targeting .NET Framework and running on Windows. +This sample compiles and runs when you target .NET on Windows. To compile the sample, add the [`System.Security.Cryptography.ProtectedData`](https://www.nuget.org/packages/System.Security.Cryptography.ProtectedData/) NuGet package. -- Include a reference to `System.Security.dll`. +:::code language="csharp" source="./snippets/how-to-use-data-protection/net/csharp/sample.cs"::: +:::code language="vb" source="./snippets/how-to-use-data-protection/net/vb/sample.vb"::: -- Include the , , , and namespace. +### [.NET Framework](#tab/net-framework) + +This sample compiles and runs when you target .NET Framework on Windows. To compile the sample, add reference to the `System.Security.dll` library. + +:::code language="csharp" source="./snippets/how-to-use-data-protection/framework/csharp/sample.cs"::: +:::code language="vb" source="./snippets/how-to-use-data-protection/framework/vb/sample.vb"::: + +--- ## See also -- [Cryptography Model](cryptography-model.md) -- [Cryptographic Services](cryptographic-services.md) -- [Cross-Platform Cryptography](cross-platform-cryptography.md) +- [Cryptography model](cryptography-model.md) +- [Cryptographic services](cryptographic-services.md) +- [Cross-platform cryptography](cross-platform-cryptography.md) - - - [ASP.NET Core Data Protection](/aspnet/core/security/data-protection/introduction) diff --git a/docs/standard/security/snippets/how-to-use-data-protection/framework/csharp/DataProtectionSample.csproj b/docs/standard/security/snippets/how-to-use-data-protection/framework/csharp/DataProtectionSample.csproj new file mode 100644 index 0000000000000..1bebf6d9b6210 --- /dev/null +++ b/docs/standard/security/snippets/how-to-use-data-protection/framework/csharp/DataProtectionSample.csproj @@ -0,0 +1,42 @@ + + + + + Debug + AnyCPU + {9B14A2C4-4E4E-4A8E-9C3B-8F5F8D9C6A21} + Exe + DataProtectionSample + DataProtectionSample + v4.8 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + diff --git a/samples/snippets/csharp/VS_Snippets_CLR/DPAPI-HowTO/cs/sample.cs b/docs/standard/security/snippets/how-to-use-data-protection/framework/csharp/sample.cs similarity index 88% rename from samples/snippets/csharp/VS_Snippets_CLR/DPAPI-HowTO/cs/sample.cs rename to docs/standard/security/snippets/how-to-use-data-protection/framework/csharp/sample.cs index 335f0103d116a..7f3d47a4acbb7 100644 --- a/samples/snippets/csharp/VS_Snippets_CLR/DPAPI-HowTO/cs/sample.cs +++ b/docs/standard/security/snippets/how-to-use-data-protection/framework/csharp/sample.cs @@ -1,14 +1,11 @@ -// -using System; +using System; using System.IO; using System.Text; using System.Security.Cryptography; public class MemoryProtectionSample { - public static void Main() => Run(); - - public static void Run() + public static void Main() { try { @@ -19,21 +16,21 @@ public static void Run() /////////////////////////////// // Create the original data to be encrypted (The data length should be a multiple of 16). - byte[] toEncrypt = UnicodeEncoding.ASCII.GetBytes("ThisIsSomeData16"); + byte[] toEncrypt = Encoding.ASCII.GetBytes("ThisIsSomeData16"); - Console.WriteLine($"Original data: {UnicodeEncoding.ASCII.GetString(toEncrypt)}"); + Console.WriteLine(value: $"Original data: {Encoding.ASCII.GetString(toEncrypt)}"); Console.WriteLine("Encrypting..."); // Encrypt the data in memory. EncryptInMemoryData(toEncrypt, MemoryProtectionScope.SameLogon); - Console.WriteLine($"Encrypted data: {UnicodeEncoding.ASCII.GetString(toEncrypt)}"); + Console.WriteLine($"Encrypted data: {Encoding.ASCII.GetString(toEncrypt)}"); Console.WriteLine("Decrypting..."); // Decrypt the data in memory. DecryptInMemoryData(toEncrypt, MemoryProtectionScope.SameLogon); - Console.WriteLine($"Decrypted data: {UnicodeEncoding.ASCII.GetString(toEncrypt)}"); + Console.WriteLine($"Decrypted data: {Encoding.ASCII.GetString(toEncrypt)}"); /////////////////////////////// // @@ -42,7 +39,7 @@ public static void Run() /////////////////////////////// // Create the original data to be encrypted - toEncrypt = UnicodeEncoding.ASCII.GetBytes("This is some data of any length."); + toEncrypt = Encoding.ASCII.GetBytes("This is some data of any length."); // Create a file. FileStream fStream = new FileStream("Data.dat", FileMode.OpenOrCreate); @@ -51,7 +48,7 @@ public static void Run() byte[] entropy = CreateRandomEntropy(); Console.WriteLine(); - Console.WriteLine($"Original data: {UnicodeEncoding.ASCII.GetString(toEncrypt)}"); + Console.WriteLine($"Original data: {Encoding.ASCII.GetString(toEncrypt)}"); Console.WriteLine("Encrypting and writing to disk..."); // Encrypt a copy of the data to the stream. @@ -69,7 +66,7 @@ public static void Run() fStream.Close(); - Console.WriteLine($"Decrypted data: {UnicodeEncoding.ASCII.GetString(decryptData)}"); + Console.WriteLine($"Decrypted data: {Encoding.ASCII.GetString(decryptData)}"); } catch (Exception e) { @@ -172,4 +169,3 @@ public static byte[] DecryptDataFromStream(byte[] Entropy, DataProtectionScope S return outBuffer; } } -// diff --git a/docs/standard/security/snippets/how-to-use-data-protection/framework/csharp/snippets.5000.json b/docs/standard/security/snippets/how-to-use-data-protection/framework/csharp/snippets.5000.json new file mode 100644 index 0000000000000..da9ebf8da2f9d --- /dev/null +++ b/docs/standard/security/snippets/how-to-use-data-protection/framework/csharp/snippets.5000.json @@ -0,0 +1,3 @@ +{ + "host": "visualstudio" +} diff --git a/docs/standard/security/snippets/how-to-use-data-protection/framework/vb/DataProtectionSample.vbproj b/docs/standard/security/snippets/how-to-use-data-protection/framework/vb/DataProtectionSample.vbproj new file mode 100644 index 0000000000000..c40d75bd4b768 --- /dev/null +++ b/docs/standard/security/snippets/how-to-use-data-protection/framework/vb/DataProtectionSample.vbproj @@ -0,0 +1,56 @@ + + + + + Debug + AnyCPU + {A4B12E1F-3C6D-4B25-9E5B-2E7D3A9F1B04} + Exe + DataProtectionSample + DataProtectionSample + v4.8 + Console + DataProtectionSample.MemoryProtectionSample + 512 + true + On + Binary + Off + On + + + AnyCPU + true + full + true + true + bin\Debug\ + DataProtectionSample.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + DataProtectionSample.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + + + + + + + + + + + + + + + diff --git a/samples/snippets/visualbasic/VS_Snippets_CLR/DPAPI-HowTO/vb/sample.vb b/docs/standard/security/snippets/how-to-use-data-protection/framework/vb/sample.vb similarity index 80% rename from samples/snippets/visualbasic/VS_Snippets_CLR/DPAPI-HowTO/vb/sample.vb rename to docs/standard/security/snippets/how-to-use-data-protection/framework/vb/sample.vb index 1b2ea95b3e31c..e954812dcd77c 100644 --- a/samples/snippets/visualbasic/VS_Snippets_CLR/DPAPI-HowTO/vb/sample.vb +++ b/docs/standard/security/snippets/how-to-use-data-protection/framework/vb/sample.vb @@ -1,42 +1,31 @@ -' -Imports System.IO +Imports System.IO Imports System.Text Imports System.Security.Cryptography - - Public Module MemoryProtectionSample - Sub Main() - Run() - - End Sub - - - Sub Run() Try - '''''''''''''''''''''''''''''''''''' ' ' Memory Encryption - ProtectedMemory ' '''''''''''''''''''''''''''''''''''' ' Create the original data to be encrypted (The data length should be a multiple of 16). - Dim toEncrypt As Byte() = UnicodeEncoding.ASCII.GetBytes("ThisIsSomeData16") + Dim toEncrypt As Byte() = Encoding.ASCII.GetBytes("ThisIsSomeData16") - Console.WriteLine("Original data: " + UnicodeEncoding.ASCII.GetString(toEncrypt)) + Console.WriteLine("Original data: " + Encoding.ASCII.GetString(toEncrypt)) Console.WriteLine("Encrypting...") ' Encrypt the data in memory. EncryptInMemoryData(toEncrypt, MemoryProtectionScope.SameLogon) - Console.WriteLine("Encrypted data: " + UnicodeEncoding.ASCII.GetString(toEncrypt)) + Console.WriteLine("Encrypted data: " + Encoding.ASCII.GetString(toEncrypt)) Console.WriteLine("Decrypting...") ' Decrypt the data in memory. DecryptInMemoryData(toEncrypt, MemoryProtectionScope.SameLogon) - Console.WriteLine("Decrypted data: " + UnicodeEncoding.ASCII.GetString(toEncrypt)) + Console.WriteLine("Decrypted data: " + Encoding.ASCII.GetString(toEncrypt)) '''''''''''''''''''''''''''''''''''' @@ -45,7 +34,7 @@ Public Module MemoryProtectionSample ' '''''''''''''''''''''''''''''''''''' ' Create the original data to be encrypted - toEncrypt = UnicodeEncoding.ASCII.GetBytes("This is some data of any length.") + toEncrypt = Encoding.ASCII.GetBytes("This is some data of any length.") ' Create a file. Dim fStream As New FileStream("Data.dat", FileMode.OpenOrCreate) @@ -54,7 +43,7 @@ Public Module MemoryProtectionSample Dim entropy As Byte() = CreateRandomEntropy() Console.WriteLine() - Console.WriteLine("Original data: " + UnicodeEncoding.ASCII.GetString(toEncrypt)) + Console.WriteLine("Original data: " + Encoding.ASCII.GetString(toEncrypt)) Console.WriteLine("Encrypting and writing to disk...") ' Encrypt a copy of the data to the stream. @@ -72,8 +61,7 @@ Public Module MemoryProtectionSample fStream.Close() - Console.WriteLine("Decrypted data: " + UnicodeEncoding.ASCII.GetString(decryptData)) - + Console.WriteLine("Decrypted data: " + Encoding.ASCII.GetString(decryptData)) Catch e As Exception Console.WriteLine("ERROR: " + e.Message) @@ -81,9 +69,7 @@ Public Module MemoryProtectionSample End Sub - - - Sub EncryptInMemoryData(ByVal Buffer() As Byte, ByVal Scope As MemoryProtectionScope) + Sub EncryptInMemoryData(Buffer() As Byte, Scope As MemoryProtectionScope) If Buffer Is Nothing Then Throw New ArgumentNullException("Buffer") End If @@ -96,8 +82,7 @@ Public Module MemoryProtectionSample End Sub - - Sub DecryptInMemoryData(ByVal Buffer() As Byte, ByVal Scope As MemoryProtectionScope) + Sub DecryptInMemoryData(Buffer() As Byte, Scope As MemoryProtectionScope) If Buffer Is Nothing Then Throw New ArgumentNullException("Buffer") End If @@ -110,7 +95,6 @@ Public Module MemoryProtectionSample End Sub - Function CreateRandomEntropy() As Byte() ' Create a byte array to hold the random value. Dim entropy(15) As Byte @@ -126,9 +110,7 @@ Public Module MemoryProtectionSample End Function 'CreateRandomEntropy - - - Function EncryptDataToStream(ByVal Buffer() As Byte, ByVal Entropy() As Byte, ByVal Scope As DataProtectionScope, ByVal S As Stream) As Integer + Function EncryptDataToStream(Buffer() As Byte, Entropy() As Byte, Scope As DataProtectionScope, S As Stream) As Integer If Buffer Is Nothing Then Throw New ArgumentNullException("Buffer") End If @@ -161,8 +143,7 @@ Public Module MemoryProtectionSample End Function 'EncryptDataToStream - - Function DecryptDataFromStream(ByVal Entropy() As Byte, ByVal Scope As DataProtectionScope, ByVal S As Stream, ByVal Length As Integer) As Byte() + Function DecryptDataFromStream(Entropy() As Byte, Scope As DataProtectionScope, S As Stream, Length As Integer) As Byte() If S Is Nothing Then Throw New ArgumentNullException("S") End If @@ -176,7 +157,6 @@ Public Module MemoryProtectionSample Throw New ArgumentException("Entropy") End If - Dim inBuffer(Length - 1) As Byte Dim outBuffer() As Byte @@ -194,4 +174,3 @@ Public Module MemoryProtectionSample End Function 'DecryptDataFromStream End Module 'MemoryProtectionSample -' diff --git a/docs/standard/security/snippets/how-to-use-data-protection/framework/vb/snippets.5000.json b/docs/standard/security/snippets/how-to-use-data-protection/framework/vb/snippets.5000.json new file mode 100644 index 0000000000000..da9ebf8da2f9d --- /dev/null +++ b/docs/standard/security/snippets/how-to-use-data-protection/framework/vb/snippets.5000.json @@ -0,0 +1,3 @@ +{ + "host": "visualstudio" +} diff --git a/docs/standard/security/snippets/how-to-use-data-protection/net/csharp/DataProtectionSample.csproj b/docs/standard/security/snippets/how-to-use-data-protection/net/csharp/DataProtectionSample.csproj new file mode 100644 index 0000000000000..a7c0dff8bc269 --- /dev/null +++ b/docs/standard/security/snippets/how-to-use-data-protection/net/csharp/DataProtectionSample.csproj @@ -0,0 +1,14 @@ + + + + Exe + net10.0-windows + enable + enable + + + + + + + diff --git a/docs/standard/security/snippets/how-to-use-data-protection/net/csharp/sample.cs b/docs/standard/security/snippets/how-to-use-data-protection/net/csharp/sample.cs new file mode 100644 index 0000000000000..3d8a584dac688 --- /dev/null +++ b/docs/standard/security/snippets/how-to-use-data-protection/net/csharp/sample.cs @@ -0,0 +1,90 @@ +using System.Security.Cryptography; +using System.Text; + +try +{ + // Data Encryption - ProtectedData + + // Create the original data to be encrypted. + byte[] toEncrypt = Encoding.ASCII.GetBytes("This is some data of any length."); + + // Create some random entropy. + byte[] entropy = CreateRandomEntropy(); + + Console.WriteLine(); + Console.WriteLine($"Original data: {Encoding.ASCII.GetString(toEncrypt)}"); + Console.WriteLine("Encrypting and writing to disk..."); + + int bytesWritten; + + // Encrypt a copy of the data to the stream. + using (FileStream writeStream = new("Data.dat", FileMode.OpenOrCreate)) + { + bytesWritten = EncryptDataToStream(toEncrypt, entropy, DataProtectionScope.CurrentUser, writeStream); + } + + Console.WriteLine("Reading data from disk and decrypting..."); + + // Read from the stream and decrypt the data. + byte[] decryptData; + using (FileStream readStream = new("Data.dat", FileMode.Open)) + { + decryptData = DecryptDataFromStream(entropy, DataProtectionScope.CurrentUser, readStream, bytesWritten); + } + + Console.WriteLine($"Decrypted data: {Encoding.ASCII.GetString(decryptData)}"); +} +catch (Exception e) +{ + Console.WriteLine($"ERROR: {e.Message}"); +} + +static byte[] CreateRandomEntropy() +{ + // Create a byte array to hold the random value and fill it with a random value. + byte[] entropy = new byte[16]; + RandomNumberGenerator.Fill(entropy); + + return entropy; +} + +static int EncryptDataToStream(byte[] buffer, byte[] entropy, DataProtectionScope scope, Stream stream) +{ + ArgumentNullException.ThrowIfNull(buffer); + ArgumentOutOfRangeException.ThrowIfZero(buffer.Length, nameof(buffer)); + ArgumentNullException.ThrowIfNull(entropy); + ArgumentOutOfRangeException.ThrowIfZero(entropy.Length, nameof(entropy)); + ArgumentNullException.ThrowIfNull(stream); + + int length = 0; + + // Encrypt the data and store the result in a new byte array. The original data remains unchanged. + byte[] encryptedData = ProtectedData.Protect(buffer, entropy, scope); + + // Write the encrypted data to a stream. + if (stream.CanWrite) + { + stream.Write(encryptedData, 0, encryptedData.Length); + length = encryptedData.Length; + } + + // Return the length that was written to the stream. + return length; +} + +static byte[] DecryptDataFromStream(byte[] entropy, DataProtectionScope scope, Stream stream, int length) +{ + ArgumentNullException.ThrowIfNull(stream); + ArgumentOutOfRangeException.ThrowIfZero(length, nameof(length)); + ArgumentNullException.ThrowIfNull(entropy); + ArgumentOutOfRangeException.ThrowIfZero(entropy.Length, nameof(entropy)); + + if (!stream.CanRead) + throw new IOException("Could not read the stream."); + + byte[] inBuffer = new byte[length]; + stream.ReadExactly(inBuffer, 0, length); + + // Return the decrypted data. + return ProtectedData.Unprotect(inBuffer, entropy, scope); +} diff --git a/docs/standard/security/snippets/how-to-use-data-protection/net/vb/DataProtectionSample.vbproj b/docs/standard/security/snippets/how-to-use-data-protection/net/vb/DataProtectionSample.vbproj new file mode 100644 index 0000000000000..c43bb9e43aaa3 --- /dev/null +++ b/docs/standard/security/snippets/how-to-use-data-protection/net/vb/DataProtectionSample.vbproj @@ -0,0 +1,13 @@ + + + + Exe + DataProtectionSample + net10.0-windows + + + + + + + diff --git a/docs/standard/security/snippets/how-to-use-data-protection/net/vb/sample.vb b/docs/standard/security/snippets/how-to-use-data-protection/net/vb/sample.vb new file mode 100644 index 0000000000000..c3ceb8624e597 --- /dev/null +++ b/docs/standard/security/snippets/how-to-use-data-protection/net/vb/sample.vb @@ -0,0 +1,90 @@ +Imports System.IO +Imports System.Security.Cryptography +Imports System.Text + +Public Module DataProtectionSample + + Sub Main() + Try + ' Data Encryption - ProtectedData + + ' Create the original data to be encrypted. + Dim toEncrypt As Byte() = Encoding.ASCII.GetBytes("This is some data of any length.") + + ' Create some random entropy. + Dim entropy As Byte() = CreateRandomEntropy() + + Console.WriteLine() + Console.WriteLine($"Original data: {Encoding.ASCII.GetString(toEncrypt)}") + Console.WriteLine("Encrypting and writing to disk...") + + Dim bytesWritten As Integer + + ' Encrypt a copy of the data to the stream. + Using writeStream As New FileStream("Data.dat", FileMode.OpenOrCreate) + bytesWritten = EncryptDataToStream(toEncrypt, entropy, DataProtectionScope.CurrentUser, writeStream) + End Using + + Console.WriteLine("Reading data from disk and decrypting...") + + ' Read from the stream and decrypt the data. + Dim decryptData As Byte() + Using readStream As New FileStream("Data.dat", FileMode.Open) + decryptData = DecryptDataFromStream(entropy, DataProtectionScope.CurrentUser, readStream, bytesWritten) + End Using + + Console.WriteLine($"Decrypted data: {Encoding.ASCII.GetString(decryptData)}") + + Catch e As Exception + Console.WriteLine($"ERROR: {e.Message}") + End Try + End Sub + + Function CreateRandomEntropy() As Byte() + ' Create a byte array to hold the random value and fill it with a random value. + Dim entropy(15) As Byte + RandomNumberGenerator.Fill(entropy) + + Return entropy + End Function + + Function EncryptDataToStream(buffer As Byte(), entropy As Byte(), scope As DataProtectionScope, stream As Stream) As Integer + ArgumentNullException.ThrowIfNull(buffer) + ArgumentOutOfRangeException.ThrowIfZero(buffer.Length, NameOf(buffer)) + ArgumentNullException.ThrowIfNull(entropy) + ArgumentOutOfRangeException.ThrowIfZero(entropy.Length, NameOf(entropy)) + ArgumentNullException.ThrowIfNull(stream) + + Dim length As Integer = 0 + + ' Encrypt the data and store the result in a new byte array. The original data remains unchanged. + Dim encryptedData As Byte() = ProtectedData.Protect(buffer, entropy, scope) + + ' Write the encrypted data to a stream. + If stream.CanWrite Then + stream.Write(encryptedData, 0, encryptedData.Length) + length = encryptedData.Length + End If + + ' Return the length that was written to the stream. + Return length + End Function + + Function DecryptDataFromStream(entropy As Byte(), scope As DataProtectionScope, stream As Stream, length As Integer) As Byte() + ArgumentNullException.ThrowIfNull(stream) + ArgumentOutOfRangeException.ThrowIfZero(length, NameOf(length)) + ArgumentNullException.ThrowIfNull(entropy) + ArgumentOutOfRangeException.ThrowIfZero(entropy.Length, NameOf(entropy)) + + If Not stream.CanRead Then + Throw New IOException("Could not read the stream.") + End If + + Dim inBuffer(length - 1) As Byte + stream.ReadExactly(inBuffer, 0, length) + + ' Return the decrypted data. + Return ProtectedData.Unprotect(inBuffer, entropy, scope) + End Function + +End Module diff --git a/samples/snippets/csharp/VS_Snippets_CLR/DPAPI-HowTO/cs/sample.csproj b/samples/snippets/csharp/VS_Snippets_CLR/DPAPI-HowTO/cs/sample.csproj deleted file mode 100644 index 18b78dcf3f1a5..0000000000000 --- a/samples/snippets/csharp/VS_Snippets_CLR/DPAPI-HowTO/cs/sample.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - Exe - net461 - - - - - - - \ No newline at end of file From a67b385a69fcb7370397ae7bed687f013ee6c82e Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Wed, 22 Jul 2026 16:38:36 -0700 Subject: [PATCH 114/120] Try to fix warnings (#55001) --- .github/workflows/check-for-build-warnings.yml | 2 +- .github/workflows/generate-preview-links.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-for-build-warnings.yml b/.github/workflows/check-for-build-warnings.yml index 87297757e0f7f..27def4ba21480 100644 --- a/.github/workflows/check-for-build-warnings.yml +++ b/.github/workflows/check-for-build-warnings.yml @@ -20,6 +20,6 @@ jobs: with: egress-policy: audit - - uses: dotnet/docs-tools/actions/status-checker@main + - uses: dotnet/docs-tools/actions/status-checker@e761d65daef04078de70423f735850919b4c8610 # main with: repo_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/generate-preview-links.yml b/.github/workflows/generate-preview-links.yml index bb1271b9d863d..35f759da9db02 100644 --- a/.github/workflows/generate-preview-links.yml +++ b/.github/workflows/generate-preview-links.yml @@ -20,7 +20,7 @@ jobs: with: egress-policy: audit - - uses: dotnet/docs-tools/actions/preview-link-generator@main + - uses: dotnet/docs-tools/actions/preview-link-generator@e761d65daef04078de70423f735850919b4c8610 # main with: repo_token: ${{ secrets.GITHUB_TOKEN }} docs_path: "docs" From b2bd326ace411a28756f9f2e93e21ff289840a56 Mon Sep 17 00:00:00 2001 From: "azure-sdk-automation[bot]" <191533747+azure-sdk-automation[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 19:23:05 -0700 Subject: [PATCH 115/120] Update package index with latest published versions (#55002) Co-authored-by: azure-sdk --- docs/azure/includes/dotnet-all.md | 4 ++-- docs/azure/includes/dotnet-new.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index 574ccc41af79b..e1a71b749123f 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -104,8 +104,8 @@ | Schema Registry - Avro | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/1.0.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.1/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/) | | Service Bus | NuGet [7.20.2](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.20.2) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme) | GitHub [7.20.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.20.2/sdk/servicebus/Azure.Messaging.ServiceBus/) | | Storage - Blobs | NuGet [12.29.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.29.1)
NuGet [12.30.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.30.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.29.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.29.1/sdk/storage/Azure.Storage.Blobs/)
GitHub [12.30.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.30.0-beta.1/sdk/storage/Azure.Storage.Blobs/) | -| Storage - Blobs Batch | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.26.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.26.0/sdk/storage/Azure.Storage.Blobs.Batch/) | -| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.63](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.63) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.63](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.63/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) | +| Storage - Blobs Batch | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.26.0)
NuGet [12.27.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.27.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.26.0/sdk/storage/Azure.Storage.Blobs.Batch/)
GitHub [12.27.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.27.0-beta.1/sdk/storage/Azure.Storage.Blobs.Batch/) | +| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.64](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.64) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.64](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.64/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) | | Storage - Files Data Lake | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.27.1)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.27.1/sdk/storage/Azure.Storage.Files.DataLake/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.28.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/) | | Storage - Files Share | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.27.1)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.27.1/sdk/storage/Azure.Storage.Files.Shares/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.28.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/) | | Storage - Queues | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.27.1)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.27.1/sdk/storage/Azure.Storage.Queues/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.28.0-beta.1/sdk/storage/Azure.Storage.Queues/) | diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md index 87920bb47ce97..08c8c466ce333 100644 --- a/docs/azure/includes/dotnet-new.md +++ b/docs/azure/includes/dotnet-new.md @@ -116,8 +116,8 @@ | Schema Registry - Avro | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/1.0.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.1/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/) | | Service Bus | NuGet [7.20.2](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.20.2) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme) | GitHub [7.20.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.20.2/sdk/servicebus/Azure.Messaging.ServiceBus/) | | Storage - Blobs | NuGet [12.29.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.29.1)
NuGet [12.30.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.30.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.29.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.29.1/sdk/storage/Azure.Storage.Blobs/)
GitHub [12.30.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.30.0-beta.1/sdk/storage/Azure.Storage.Blobs/) | -| Storage - Blobs Batch | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.26.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.26.0/sdk/storage/Azure.Storage.Blobs.Batch/) | -| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.63](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.63) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.63](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.63/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) | +| Storage - Blobs Batch | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.26.0)
NuGet [12.27.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.27.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.26.0/sdk/storage/Azure.Storage.Blobs.Batch/)
GitHub [12.27.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.27.0-beta.1/sdk/storage/Azure.Storage.Blobs.Batch/) | +| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.64](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.64) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.64](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.64/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) | | Storage - Files Data Lake | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.27.1)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.27.1/sdk/storage/Azure.Storage.Files.DataLake/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.28.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/) | | Storage - Files Share | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.27.1)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.27.1/sdk/storage/Azure.Storage.Files.Shares/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.28.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/) | | Storage - Queues | NuGet [12.27.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.27.1)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.27.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.27.1/sdk/storage/Azure.Storage.Queues/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.28.0-beta.1/sdk/storage/Azure.Storage.Queues/) | From 91314d1c68c0bf79b70c561164311a8bad5e20ef Mon Sep 17 00:00:00 2001 From: Radek Zikmund <32671551+rzikm@users.noreply.github.com> Date: Thu, 23 Jul 2026 09:05:56 +0200 Subject: [PATCH 116/120] Mention filename validation and permission handling for ZIP and TAR extraction (#54844) * Mention filename validation and permission handling for ZIP and TAR extraction * Feedback * Apply suggestions from code review Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --------- Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- .../zip-tar-best-practices/csharp/Program.cs | 49 ++++++++++++++++++ docs/standard/io/zip-tar-best-practices.md | 51 ++++++++++++++++++- 2 files changed, 99 insertions(+), 1 deletion(-) diff --git a/docs/standard/io/snippets/zip-tar-best-practices/csharp/Program.cs b/docs/standard/io/snippets/zip-tar-best-practices/csharp/Program.cs index b2c750a9f0788..2cd9524693b12 100644 --- a/docs/standard/io/snippets/zip-tar-best-practices/csharp/Program.cs +++ b/docs/standard/io/snippets/zip-tar-best-practices/csharp/Program.cs @@ -71,6 +71,13 @@ void DangerousExtract(string extractDir) } // +bool ValidateName(string name) +{ + // Placeholder for a policy that checks for allowed characters, reserved names, etc. + // For example, you might disallow names with invalid characters or reserved device names. + return !string.IsNullOrWhiteSpace(name) && !name.Contains(".."); +} + // void SafeExtractZip(string archivePath, string destinationDir, long maxTotalSize, long maxEntrySize, int maxEntryCount) @@ -103,6 +110,19 @@ void SafeExtractZip(string archivePath, string destinationDir, if (totalSize > maxTotalSize) throw new InvalidOperationException("Archive exceeds total size limit."); + // The entry Name can contain arbitrary characters. Some characters might not be + // allowed on certain filesystems or have a special meaning. Applications should + // apply their own policies regarding allowed filenames. ValidateName is a placeholder + // for such a policy. + if (!ValidateName(entry.FullName)) + { + throw new IOException($"Entry name '{entry.FullName}' is not allowed."); + } + + // ExternalAttributes carry permission bits for Unix platforms. Clearing the + // attributes enforces extraction with default file permissions. + entry.ExternalAttributes = 0; + // Resolve the full destination path using Path.GetFullPath, which // normalizes away any "../" segments. Then verify the result still // starts with the destination directory. @@ -174,6 +194,35 @@ void SafeExtractTar(Stream archiveStream, string destinationDir, if (!allowedTypes.Contains(entry.EntryType)) continue; + // The entry Name can contain arbitrary characters. Some characters might not be + // allowed on certain filesystems or have a special meaning. Applications should + // apply their own policies regarding allowed filenames. ValidateName is a placeholder + // for such a policy. + if (!ValidateName(entry.Name)) + { + throw new IOException($"Entry name '{entry.Name}' is not allowed."); + } + + // Mask the entry's permission bits to a safe subset. + // This subset depends on your application's needs. + const UnixFileMode PermittedFileModes = + UnixFileMode.UserRead | UnixFileMode.UserWrite | + UnixFileMode.GroupRead | + UnixFileMode.OtherRead; + + const UnixFileMode PermittedDirectoryModes = + PermittedFileModes | + UnixFileMode.UserExecute | UnixFileMode.GroupExecute | UnixFileMode.OtherExecute; + + if (entry.EntryType == TarEntryType.Directory) + { + entry.Mode &= PermittedDirectoryModes; + } + else + { + entry.Mode &= PermittedFileModes; + } + // Normalize and validate the path, same as the ZIP example. string destPath = Path.GetFullPath(Path.Join(fullDestDir, entry.Name)); if (!destPath.StartsWith(fullDestDir, StringComparison.Ordinal)) diff --git a/docs/standard/io/zip-tar-best-practices.md b/docs/standard/io/zip-tar-best-practices.md index 93c0beab80dfa..b7642267c3d17 100644 --- a/docs/standard/io/zip-tar-best-practices.md +++ b/docs/standard/io/zip-tar-best-practices.md @@ -84,8 +84,10 @@ For untrusted input—user uploads, third-party downloads, or network transfers - [What the convenience methods don't protect you from](#what-the-convenience-methods-dont-protect-you-from) - [Enforce size and entry count limits](#enforce-size-and-entry-count-limits) +- [Validate file names](#validate-file-names) - [Validate destination paths](#validate-destination-paths) - [Handle symbolic and hard links (TAR)](#handle-symbolic-and-hard-links-tar) +- [Entry permission bits (Unix only)](#entry-permission-bits-unix-only) - [Complete safe extraction examples](#complete-safe-extraction-examples) ### What the convenience methods don't protect you from @@ -115,6 +117,10 @@ Neither nor [!TIP] > The same approach applies to TAR archives. Since TAR files are read entry-by-entry via , track both the cumulative data size and entry count as you iterate. +### Validate file names + +Depending on the filesystem, some characters might not be allowed in filenames (or allowed only in certain positions), or have special meaning. Applications should check that the extracted entry names conform to an acceptable pattern. + ### Validate destination paths When you use the streaming APIs, you're responsible for validating every entry's destination path. They perform no path validation at all. @@ -162,6 +168,10 @@ If your use case requires extracting archives with hard links but you want to av For reference, validates both the entry path and link target path against the destination directory boundary. If either resolves outside, an is thrown. rejects symbolic and hard link entries entirely—it throws . +### Entry permission bits (Unix only) + +On Unix-like systems, the convenience APIs apply permission bits from the archive metadata to the extracted file or directory. These permissions might be too broad for the application scenario. In your application, you might want to prevent extraction of files that have executable permissions set. For more information, see the [Unix file permissions](#unix-file-permissions) section of this article. + ### Complete safe extraction examples Combine path traversal validation, size limits, entry count limits, and link handling in a single extraction loop. @@ -219,7 +229,44 @@ Archive behavior can vary between Windows and Unix. Keep these differences in mi - **ZIP:** Unix permissions are stored in the upper 16 bits of . When extracting on Unix via `ExtractToDirectory` or `ExtractToFile`, the runtime restores ownership permissions (read/write/execute for user/group/other), subject to the process umask. SetUID, SetGID, and StickyBit are stripped. Permissions are not applied if the upper bits are zero. This happens when the ZIP was created on Windows, because .NET on Windows sets `DefaultFileExternalAttributes` to `0`. On Windows, these attributes are always ignored during extraction. - **TAR:** The property represents `UnixFileMode` and can store all 12 permission bits (read/write/execute for user/group/other, plus SetUID, SetGID, and StickyBit). When extracting on Unix via `ExtractToDirectory` or `ExtractToFile`, the runtime applies only the 9 ownership bits (rwx for user/group/other), subject to the process umask. SetUID, SetGID, and StickyBit are stripped for security. -When processing untrusted archives, be aware that extracted files may have executable permissions set by the archive author. Untrusted archives could contain malicious executable files. +When processing untrusted archives, be aware that extracted files might have executable permissions set by the archive author. Untrusted archives could contain malicious executable files. Since and are writable, you can modify them before extraction: + +```csharp +foreach (ZipArchiveEntry entry in archive.Entries) +{ + // Unset the external attributes to force extraction with default Unix permission bits. + entry.ExternalAttributes = 0; + + // .. other validation omitted for brevity + + Directory.CreateDirectory(Path.GetDirectoryName(destPath)!); + entry.ExtractToFile(destPath, overwrite: false); +} +``` + +```csharp + +const UnixFileMode PermittedFileModes = + UnixFileMode.UserRead | UnixFileMode.UserWrite | + UnixFileMode.GroupRead | + UnixFileMode.OtherRead; + +const UnixFileMode PermittedDirectoryModes = + PermittedFileModes | + UnixFileMode.UserExecute | UnixFileMode.GroupExecute | UnixFileMode.OtherExecute; + +while ((entry = reader.GetNextEntry()) is not null) +{ + if (entry.EntryType == TarEntryType.Directory) + { + entry.Mode &= PermittedDirectoryModes; + } + else + { + entry.Mode &= PermittedFileModes; + } +} +``` ### Special entry types (TAR) @@ -333,8 +380,10 @@ Before deploying code that handles archives from untrusted sources, verify you'v - **Manual iteration:** Don't use `ExtractToDirectory` for untrusted input—iterate entries manually to enforce all limits. - **Path traversal:** Validate all destination paths with `Path.GetFullPath()` + `StartsWith()`. +- **Special characters in names:** Validate that entry names conform to the application-defined policy. - **Decompression bombs:** Enforce limits on decompressed size (per-entry and total) and entry count. - **Symlink/hardlink attacks (TAR):** Validate link targets resolve within the destination, or skip link entries entirely. +- **Unix permissions:** Validate each entry's permission bits. Skip entries with too broad permissions or mask/modify the unwanted permission bits before extraction. - **Memory limits:** Avoid for large untrusted archives. Avoid mode with unseekable streams from untrusted sources. - **Thread safety:** Don't share , , or instances across threads. - **Untrusted metadata:** Treat entry names, comments, and extra fields as untrusted input. Sanitize before display or processing. From 1d30bf7e08e5b5666c17303e98f3481c685aa30a Mon Sep 17 00:00:00 2001 From: "azure-sdk-automation[bot]" <191533747+azure-sdk-automation[bot]@users.noreply.github.com> Date: Thu, 23 Jul 2026 09:18:10 -0700 Subject: [PATCH 117/120] Update package index with latest published versions (#55005) Co-authored-by: azure-sdk --- docs/azure/includes/dotnet-all.md | 2 +- docs/azure/includes/dotnet-new.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index e1a71b749123f..e5ebdaf935097 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -114,7 +114,7 @@ | Synapse - Managed Private Endpoints | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.ManagedPrivateEndpoints/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.ManagedPrivateEndpoints-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.ManagedPrivateEndpoints_1.0.0-beta.5/sdk/synapse/Azure.Analytics.Synapse.ManagedPrivateEndpoints/) | | Synapse - Monitoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Analytics.Synapse.Monitoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Monitoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Monitoring_1.0.0-beta.3/sdk/synapse/Azure.Analytics.Synapse.Monitoring/) | | Synapse - Spark | NuGet [1.0.0-preview.8](https://www.nuget.org/packages/Azure.Analytics.Synapse.Spark/1.0.0-preview.8) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Spark-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Spark_1.0.0-preview.8/sdk/synapse/Azure.Analytics.Synapse.Spark/) | -| System Events | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.SystemEvents-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.0.0/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.1.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/) | +| System Events | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.1.0) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.SystemEvents-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.1.0/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/) | | System.ClientModel | NuGet [1.14.0](https://www.nuget.org/packages/System.ClientModel/1.14.0) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.14.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.14.0/sdk/core/System.ClientModel/) | | Tables | NuGet [12.11.0](https://www.nuget.org/packages/Azure.Data.Tables/12.11.0) | [docs](/dotnet/api/overview/azure/Data.Tables-readme) | GitHub [12.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.Tables_12.11.0/sdk/tables/Azure.Data.Tables/) | | Text Analytics | NuGet [5.3.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.3.0) | [docs](/dotnet/api/overview/azure/AI.TextAnalytics-readme) | GitHub [5.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0/sdk/textanalytics/Azure.AI.TextAnalytics/) | diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md index 08c8c466ce333..b0089e930dfca 100644 --- a/docs/azure/includes/dotnet-new.md +++ b/docs/azure/includes/dotnet-new.md @@ -126,7 +126,7 @@ | Synapse - Managed Private Endpoints | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.ManagedPrivateEndpoints/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.ManagedPrivateEndpoints-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.ManagedPrivateEndpoints_1.0.0-beta.5/sdk/synapse/Azure.Analytics.Synapse.ManagedPrivateEndpoints/) | | Synapse - Monitoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Analytics.Synapse.Monitoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Monitoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Monitoring_1.0.0-beta.3/sdk/synapse/Azure.Analytics.Synapse.Monitoring/) | | Synapse - Spark | NuGet [1.0.0-preview.8](https://www.nuget.org/packages/Azure.Analytics.Synapse.Spark/1.0.0-preview.8) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Spark-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Spark_1.0.0-preview.8/sdk/synapse/Azure.Analytics.Synapse.Spark/) | -| System Events | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.SystemEvents-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.0.0/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.1.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/) | +| System Events | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.1.0) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.SystemEvents-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.1.0/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/) | | System.ClientModel | NuGet [1.14.0](https://www.nuget.org/packages/System.ClientModel/1.14.0) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.14.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.14.0/sdk/core/System.ClientModel/) | | Tables | NuGet [12.11.0](https://www.nuget.org/packages/Azure.Data.Tables/12.11.0) | [docs](/dotnet/api/overview/azure/Data.Tables-readme) | GitHub [12.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.Tables_12.11.0/sdk/tables/Azure.Data.Tables/) | | Text Analytics | NuGet [5.3.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.3.0) | [docs](/dotnet/api/overview/azure/AI.TextAnalytics-readme) | GitHub [5.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0/sdk/textanalytics/Azure.AI.TextAnalytics/) | From 13736d95e22387b316122c86e7d3a0ae823cfd75 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 23 Jul 2026 12:45:07 -0400 Subject: [PATCH 118/120] [Everyday C#] Fundamentals: Equality comparisons (#54849) * [Everyday C#] Phase E, PR 14b: Type system: equality Add fundamentals concept article on object equality for classes, structs, records, and tuples. Covers value equality vs. reference equality, Equals/==/ReferenceEquals semantics, IEquatable implementation pattern, and record compiler-generated equality. Backed by a net10.0 snippet project (0 warnings, 0 errors). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5dca83ef-a274-4737-96d5-a311bfe58550 * [Everyday C#] Move equality to expressions Relocate the Equality fundamentals article and snippets from Type system to the new Expressions folder, and update the TOC and relative links for the new location. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bc6b7895-3b18-45ff-99de-540618819cb3 * Address equality article review feedback Clarify default equality behavior, operator terminology, and manual value equality guidance. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bc6b7895-3b18-45ff-99de-540618819cb3 * Tighten struct equality guidance Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bc6b7895-3b18-45ff-99de-540618819cb3 * Clarify manual equality guidance Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bc6b7895-3b18-45ff-99de-540618819cb3 * Deemphasize IEquatable Deemphasize the value of IEquatable throughout the article. * Deemphasize IEquatable in equality article Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: bc6b7895-3b18-45ff-99de-540618819cb3 * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Yet another editing pass Run another edit pass on this PR. * lint * Restructure for a better organization This organization of the material works much better. * Apply suggestions from code review Co-authored-by: Wade Pickett --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Wade Pickett Copilot-Session: 5dca83ef-a274-4737-96d5-a311bfe58550 Copilot-Session: bc6b7895-3b18-45ff-99de-540618819cb3 --- .../fundamentals/expressions/equality.md | 121 ++++++++++++++++++ .../expressions/snippets/equality/Program.cs | 105 +++++++++++++++ .../snippets/equality/equality.csproj | 10 ++ docs/csharp/toc.yml | 2 + 4 files changed, 238 insertions(+) create mode 100644 docs/csharp/fundamentals/expressions/equality.md create mode 100644 docs/csharp/fundamentals/expressions/snippets/equality/Program.cs create mode 100644 docs/csharp/fundamentals/expressions/snippets/equality/equality.csproj diff --git a/docs/csharp/fundamentals/expressions/equality.md b/docs/csharp/fundamentals/expressions/equality.md new file mode 100644 index 0000000000000..efbb6325469d7 --- /dev/null +++ b/docs/csharp/fundamentals/expressions/equality.md @@ -0,0 +1,121 @@ +--- +title: "C# Equality comparisons" +description: Learn how C# compares values and references with ==, !=, Equals, GetHashCode, and ReferenceEquals for classes, structs, records, and tuples. +ms.date: 07/22/2026 +ms.topic: concept-article +ai-usage: ai-assisted +--- + +# C# Equality comparisons + +> [!TIP] +> This article is part of the **Fundamentals** section for developers who already know at least one programming language and are learning C#. If you're new to programming, start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. +> +> **Coming from another language?** In Java, `==` on objects and JavaScript `===` on objects test identity, not content. C# classes work the same way by default. In Python, `==` calls `__eq__` and tests content by default , similar to how C# [records](../types/records.md) compare. C# [structs](../types/structs.md) also compare by value when you call `Equals`. + +C# distinguishes two kinds of equality. *Value equality* means two instances are equal when their data matches. *Reference equality* means two variables are equal only when they point to the same object in memory. This condition is also called *identity*. The kind of type gives you the best first clue about the default equality behavior: value types usually compare data, and reference types usually compare identity. Defaults aren't destiny, but that mental model prevents subtle bugs where two objects that look identical aren't considered equal, or where a mutation through one variable silently changes what another variable sees. + +## Value types, reference types, and equality defaults + +Every type in C# is either a *value type* or a *reference type*. A *value type* holds its data directly in the variable. A *reference type* holds a reference to an object. When you assign a reference-type variable to another variable, both variables refer to the same object. This article uses that distinction as a quick refresher. For more information about value types and reference types, see [Type system overview](../types/index.md#value-types-and-reference-types). + +The default equality behavior usually follows the kind of type: + +- **Built-in numeric types and [enums](../types/enums.md)** are value types. Two `int` variables are equal when their numeric values match. +- **[Structs](../types/structs.md)** are value types. A plain `struct` uses value equality when you call . +- **[Tuples](../types/tuples.md)** are value types. Two tuples are equal when all their element values match. +- **[Classes](../types/classes.md)** are reference types. A plain class uses reference equality, so `==` and test whether two variables point to the same object. + +A plain class shows reference equality. Two separate objects with the same data aren't equal, but two variables that refer to the same object are equal: + +:::code language="csharp" source="snippets/equality/Program.cs" ID="ClassEquality"::: + +A plain `struct` shows value equality through . Two struct instances are equal when their fields match: + +:::code language="csharp" source="snippets/equality/Program.cs" ID="StructEquality"::: + +Plain structs don't get a predefined `==` operator. Writing `p1 == p2` on a plain struct compiles only if the struct declares its own `operator ==`. If you need operator comparisons for a struct, define `==` and `!=` as a pair and keep them consistent with and . + +Tuples are value types too. Two tuples are equal when every element value matches. Element names in a named tuple are a compile-time convenience and aren't considered during comparison. Only positions and values matter: + +:::code language="csharp" source="snippets/equality/Program.cs" ID="TupleEquality"::: + +For more information about tuple syntax and deconstruction, see [Tuples and deconstruction](../types/tuples.md). + +## Types can define different equality semantics + +Defaults aren't destiny. Some types define equality semantics that differ from the type-kind default, and your own types can do the same when their data should determine equality. + +Common exceptions and customizations include: + +- **[Records](../types/records.md)** generate value equality and include `==`/`!=` operators. The next section shows how the `record` modifier gives value equality to both record classes and record structs. +- **Strings** are classes, but `==` and compare string content, not identity. +- **Your own classes and structs** can define value equality when their data should determine equality. + +Equality is woven through these related members: + +- `==`: the equality operator. Most types use this as the primary equality check. Its behavior depends on whether the type has a built-in or user-defined `==` operator. +- `!=`: the inequality operator. When a type defines a user-defined `==` operator, it must also define `!=`. +- : a virtual method inherited by every type. You can override it to change equality semantics for a type. +- : a virtual method used by hash-based collections. When two values are equal, their hash codes must also be equal. +- : a static method that always tests identity. + +## Use records for value equality + +Use the `record` modifier to give a data-focused type value equality when the type can be a record. The compiler generates , , and `==`/`!=` members that compare every declared property value. + +A `record class` is still a reference type, but it compares values instead of identity: + +:::code language="csharp" source="snippets/equality/Program.cs" ID="RecordEquality"::: + + confirms that `person1` and `person2` are different objects in memory, while `==` and return `True` because the compiler-generated equality compares property values. + +The same compiler generation applies to `record struct` types: + +:::code language="csharp" source="snippets/equality/Program.cs" ID="RecordStructEquality"::: + +Record types generate the whole equality set for their own type. Both `record class` and `record struct` types override and . They also generate `==` and `!=` operators, plus a typed `Equals` method for the record type. Unlike a plain `struct`, a `record struct` therefore supports `==` and `!=` automatically. For more information about record types and their equality semantics, see [Records](../types/records.md#value-equality). + +## Implement equality yourself when a type can't be a record + +> [!IMPORTANT] +> This section shows how to implement by hand the equality behavior that the compiler generates when you add `record` to a type. If your type can be a record, use `record` instead. It generates all these members for you. Implement them manually only when your type can't be a record. + +When a class or struct represents a value, such as a color or a measurement, the equality members for that type must agree. The easiest way to achieve this consistency is to declare the type as a `record`. If the type can't be a record, such as when it must derive from a non-record class, implement the equality members yourself. The language enforces that user-defined `==` and `!=` operators must be declared as a pair. If you provide those operators, compiler warning [CS0660](../../language-reference/compiler-messages/overloaded-operator-errors.md#equality-operators) means the type also needs an override. Warning [CS0661](../../language-reference/compiler-messages/overloaded-operator-errors.md#equality-operators) means the type also needs an override. + +In a complete manual implementation, provide these members: + +- `==` and `!=` operators. Add them as a pair because the compiler requires a type that overloads one to overload the other. +- An `override` of . This override changes equality semantics for the type and keeps object-level equality consistent. +- An `override` of . Objects that are equal must return the same hash code. Without this pairing, the type behaves incorrectly in hash-based collections such as `Dictionary` or `HashSet`. See for guidance on a correct implementation. +- Optionally, a typed `Equals` method by implementing . You often see this written as `Equals(T?)` in docs: `T` is a [type parameter](../types/generics.md), a placeholder for the current type, and `?` is a [nullable annotation](../null-safety/index.md) that says the argument can be `null`. This typed method can avoid extra conversions when callers already have the same type, but it's a secondary optimization. + +The following example starts with the and overrides, plus the optional typed `Equals` member, so you can see their effect before the `==` and `!=` operators are added. `HashCode.Combine` is a library helper that builds one hash code from the same values used by `Equals`: + +:::code language="csharp" source="snippets/equality/Program.cs" ID="ColorDefinition"::: + +At this point, `Equals` reflects value equality, but `==` still tests identity for the class because the type hasn't declared `==` and `!=` operators. Plain structs likewise still don't have a predefined `==` operator unless you declare one: + +:::code language="csharp" source="snippets/equality/Program.cs" ID="IEquatableUsage"::: + +Adding `==` and `!=` operators is the remaining step when you need operator comparisons. This article intentionally stops before the full operator implementation so the first pass can focus on the equality contract. The operator-focused follow-up shows the completed shape. For the operator syntax, see [Equality operators](../../language-reference/operators/equality-operators.md) in the language reference. + +## Use `Object.ReferenceEquals` to test identity directly + + always tests identity regardless of how a type overrides or overloads `==`. Use it as an identity diagnostic when you need to confirm whether two variables point to the exact same object: + +:::code language="csharp" source="snippets/equality/Program.cs" ID="ReferenceEqualsDemo"::: + +A common use is inside an `Equals` override to short-circuit the full comparison: when both arguments are the same reference, they're always equal without checking individual fields. + +> [!NOTE] +> Advanced detail: when variables are typed as an [interface](../types/interfaces.md), `==` checks whether the interface variables refer to the same object. A call to `Equals` still runs the underlying object's implementation. + +## See also + +- [Type system overview](../types/index.md) +- [Classes](../types/classes.md) +- [Structs](../types/structs.md) +- [Records](../types/records.md) +- [Tuples and deconstruction](../types/tuples.md) +- [Equality operators (language reference)](../../language-reference/operators/equality-operators.md) diff --git a/docs/csharp/fundamentals/expressions/snippets/equality/Program.cs b/docs/csharp/fundamentals/expressions/snippets/equality/Program.cs new file mode 100644 index 0000000000000..670765639cd50 --- /dev/null +++ b/docs/csharp/fundamentals/expressions/snippets/equality/Program.cs @@ -0,0 +1,105 @@ +// +var order1 = new Order(42, "Shoes"); +var order2 = new Order(42, "Shoes"); + +Console.WriteLine(order1 == order2); // => False +Console.WriteLine(order1.Equals(order2)); // => False +Console.WriteLine(ReferenceEquals(order1, order2)); // => False + +Order order3 = order1; +Console.WriteLine(order1 == order3); // => True +// + +// +var pt1 = new Point(3, 4); +var pt2 = new Point(3, 4); + +Console.WriteLine(pt1.Equals(pt2)); // => True +// + +// +var person1 = new Person("Ada", "Lovelace"); +var person2 = new Person("Ada", "Lovelace"); + +Console.WriteLine(person1 == person2); // => True +Console.WriteLine(person1.Equals(person2)); // => True +Console.WriteLine(ReferenceEquals(person1, person2)); // => False +// + +// +var dim1 = new Dimension(1920, 1080); +var dim2 = new Dimension(1920, 1080); + +Console.WriteLine(dim1 == dim2); // => True +Console.WriteLine(dim1.Equals(dim2)); // => True +// + +// +var t1 = (Name: "Grace", Role: "Engineer"); +var t2 = (Name: "Grace", Role: "Engineer"); + +Console.WriteLine(t1 == t2); // => True +// + +// +var red1 = new Color(255, 0, 0); +var red2 = new Color(255, 0, 0); + +Console.WriteLine(red1.Equals(red2)); // => True +Console.WriteLine(red1 == red2); // => False (no == overload; identity check) +// + +// +var doc1 = new Document("Report"); +var doc2 = new Document("Report"); +var doc3 = doc1; + +Console.WriteLine(ReferenceEquals(doc1, doc2)); // => False +Console.WriteLine(ReferenceEquals(doc1, doc3)); // => True +// + +// ── Type declarations ──────────────────────────────────────────────────────── + +class Order(int id, string name) +{ + public int Id { get; } = id; + public string Name { get; } = name; +} + +struct Point(int x, int y) +{ + public int X { get; } = x; + public int Y { get; } = y; +} + +record Person(string First, string Last); + +record struct Dimension(double Width, double Height); + +// +class Color : IEquatable +{ + public Color(int r, int g, int b) + { + R = r; + G = g; + B = b; + } + + public int R { get; } + public int G { get; } + public int B { get; } + + public bool Equals(Color? other) => + other is not null && R == other.R && G == other.G && B == other.B; + + public override bool Equals(object? obj) => obj is Color other && Equals(other); + public override int GetHashCode() => HashCode.Combine(R, G, B); +} +// + +class Document(string title) +{ + public string Title { get; } = title; +} + diff --git a/docs/csharp/fundamentals/expressions/snippets/equality/equality.csproj b/docs/csharp/fundamentals/expressions/snippets/equality/equality.csproj new file mode 100644 index 0000000000000..dfb40caafcf9a --- /dev/null +++ b/docs/csharp/fundamentals/expressions/snippets/equality/equality.csproj @@ -0,0 +1,10 @@ + + + + Exe + net10.0 + enable + enable + + + diff --git a/docs/csharp/toc.yml b/docs/csharp/toc.yml index 511cb5c2df4a0..5284db7e654c5 100644 --- a/docs/csharp/toc.yml +++ b/docs/csharp/toc.yml @@ -115,6 +115,8 @@ items: href: fundamentals/tutorials/string-interpolation.md - name: Expressions and statements items: + - name: Equality + href: fundamentals/expressions/equality.md - name: Selection statements href: fundamentals/statements/selection.md - name: Iteration statements From c3c42238da33f05d3e27a385c714dc89a414d904 Mon Sep 17 00:00:00 2001 From: Azat Mukhametshin Date: Thu, 23 Jul 2026 22:24:17 +0200 Subject: [PATCH 119/120] Use colon separator for value options in dotnet vstest vstest.console parses each argument token and splits the option name from its value on the first colon (CommandArgumentPair.Separator = ':'); a space-separated value is not consumed by the option and is instead treated as a test source. Apply the colon form consistently to all value-taking options in the synopsis, option headings, and inline examples. Flag options (--Blame, --InIsolation, --Parallel, --Help), the response file (@file), and the -- run settings separator are left unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c46887ab-e194-4295-9afd-01a25c405c76 --- docs/core/tools/dotnet-vstest.md | 40 ++++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/docs/core/tools/dotnet-vstest.md b/docs/core/tools/dotnet-vstest.md index a9b1ec04f04f5..2cc2f22479db9 100644 --- a/docs/core/tools/dotnet-vstest.md +++ b/docs/core/tools/dotnet-vstest.md @@ -18,13 +18,13 @@ ai-usage: ai-assisted ## Synopsis ```dotnetcli -dotnet vstest [] [--Blame] [--Collect ] - [--Diag ] [-e|--Environment ] - [--Framework ] [--InIsolation] [-lt|--ListTests ] - [--logger ] [--Parallel] - [--Platform ] [--ResultsDirectory ] - [--Settings ] [--TestAdapterPath ] - [--TestCaseFilter ] [--Tests ] [[--] ...] +dotnet vstest [] [--Blame] [--Collect:] + [--Diag:] [-e|--Environment:] + [--Framework:] [--InIsolation] [-lt|--ListTests:] + [--logger:] [--Parallel] + [--Platform:] [--ResultsDirectory:] + [--Settings:] [--TestAdapterPath:] + [--TestCaseFilter:] [--Tests:] [[--] ...] dotnet vstest -?|--Help ``` @@ -45,19 +45,19 @@ The `dotnet vstest` command runs the `VSTest.Console` command-line application t Runs the tests in blame mode. This option is helpful in isolating the problematic tests causing test host to crash. It creates an output file in the current directory as *Sequence.xml* that captures the order of tests execution before the crash. -- **`--Collect `** +- **`--Collect:`** - Enables a data collector for the test run. For example, `--Collect "Code Coverage"` collects code coverage with the built-in Visual Studio collector, and `--Collect "XPlat Code Coverage"` uses the cross-platform Coverlet collector. For more information, see [Monitor and analyze test run](https://aka.ms/vstest-collect). + Enables a data collector for the test run. For example, `--Collect:"Code Coverage"` collects code coverage with the built-in Visual Studio collector, and `--Collect:"XPlat Code Coverage"` uses the cross-platform Coverlet collector. For more information, see [Monitor and analyze test run](https://aka.ms/vstest-collect). -- **`--Diag `** +- **`--Diag:`** Enables verbose logs for the test platform. Logs are written to the provided file. -- **`-e|--Environment `** +- **`-e|--Environment:`** Sets the value of an environment variable for the test host process. Creates the variable if it doesn't exist, overrides it if it does. Using this option forces the tests to run in an isolated process. Specify the option multiple times to set multiple variables. -- **`--Framework `** +- **`--Framework:`** Target .NET Framework version used for test execution. An example of a valid value is `.NETFramework,Version=v7.0`. Other supported values are `Framework40`, `Framework45`, `FrameworkCore10`, and `FrameworkUap10`. @@ -65,11 +65,11 @@ The `dotnet vstest` command runs the `VSTest.Console` command-line application t Runs the tests in an isolated process. This makes *vstest.console.exe* process less likely to be stopped on an error in the tests, but tests may run slower. -- **`-lt|--ListTests `** +- **`-lt|--ListTests:`** Lists all discovered tests from the given test container. -- **`--logger `** +- **`--logger:`** Specify a logger for test results. @@ -95,27 +95,27 @@ The `dotnet vstest` command runs the `VSTest.Console` command-line application t Run tests in parallel. By default, all available cores on the machine are available for use. Specify an explicit number of cores by setting the `MaxCpuCount` property under the `RunConfiguration` node in the *runsettings* file. -- **`--Platform `** +- **`--Platform:`** Target platform architecture used for test execution. Valid values are `x86`, `x64`, `ARM`, `ARM64`, `S390x`, `Ppc64le`, `RiscV64`, and `LoongArch64`. -- **`--ResultsDirectory `** +- **`--ResultsDirectory:`** Test results directory will be created in specified path if not exists. -- **`--Settings `** +- **`--Settings:`** Settings to use when running tests. -- **`--TestAdapterPath `** +- **`--TestAdapterPath:`** Use custom test adapters from a given path (if any) in the test run. -- **`--TestCaseFilter `** +- **`--TestCaseFilter:`** Run tests that match the given expression. `` is of the format `Operator[|&]`, where Operator is one of `=`, `!=`, or `~`. Operator `~` has 'contains' semantics and is applicable for string properties like `DisplayName`. Parentheses `()` are used to group subexpressions. For more information, see [TestCase filter](https://github.com/microsoft/vstest/blob/main/docs/filter.md). -- **`--Tests `** +- **`--Tests:`** Run tests with names that match the provided values. Separate multiple values with commas. From d8ca5f73920a4aa3d096c7f86c22f15c11e8a5c1 Mon Sep 17 00:00:00 2001 From: Azat Mukhametshin Date: Thu, 23 Jul 2026 22:34:09 +0200 Subject: [PATCH 120/120] Make blame .runsettings attribute casing consistent Lowercase the enabled attribute in the blame example so all XML attribute values in the snippet (enabled, CollectAlways, DumpType, HangDumpType) use consistent lowercase, matching the mapping tables and the upstream vstest example. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c46887ab-e194-4295-9afd-01a25c405c76 --- docs/core/tools/dotnet-test-vstest.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core/tools/dotnet-test-vstest.md b/docs/core/tools/dotnet-test-vstest.md index faa827206adbe..5d57386c80ddc 100644 --- a/docs/core/tools/dotnet-test-vstest.md +++ b/docs/core/tools/dotnet-test-vstest.md @@ -154,7 +154,7 @@ Where `Microsoft.NET.Test.Sdk` is the test host, `xunit` is the test framework. - +