-
Notifications
You must be signed in to change notification settings - Fork 5.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why should we use IOptions<T> when we can inject the configuration object directly? #22886
Comments
Hi 👋 @eatdrinksleepcode Thank you so much for posting this issue. We really appreciate it. That is a fair question to ask, however it is more of a product team question than it is a docs question. I suppose the docs could add this information, assuming that level of detail was readily available. This was an architectural and API decision that would have been made a long time ago now. I believe that it is part of a larger pattern, where interfaces are preferred for dependency injection over concrete classes. The options pattern was specifically designed to function with a set of well defined interfaces: https://docs.microsoft.com/dotnet/core/extensions/options#options-interfaces A few immediate thoughts/benefits come to mind when comparing the decision to use an interface:
Does any of this help? /cc @davidfowl |
This is the easy question. Objects are nicer to deal with than strings and converting those strings to various data types in C#. You can divorce the consumption of your poco from how that poco is created. I think it's fine to start by grabbing configuration and readings things from it but ideally as your project grows in complexity, you'd want to move all of the code that goes from IConfiguration -> poco in a single place.
This comes up ALOT so I'm happy to provide something in the docs so we at least have something to point to. Using a generic wrapper type gives us the ability to decouple the lifetime of the option from the DI container. That has a couple of uses:
Now
In the long run I think we'll need to provide an easy extension to allow users of a particular option type to say that they also want to be able to consume it directly without the |
@IEvangelist understood that this was a decision made by the product team at the time they designed the pattern. All patterns involve tradeoffs, or pros/cons. When documenting a pattern, I want to understand what tradeoffs the product team made, so that I can determine whether they match my situation, and therefore whether I should follow this pattern or not. But in the list of options interfaces, the first entry only says what
I'm not clear on how the presence of an interface makes writing such an extension method any easier, or more valuable.
This is the only advantage I can think of, and is a good example of the tradeoffs I am talking about. If reloading is the reason why (Also, if that's the reason why |
@davidfowl Thank you, I think that answers my question (and mostly matches up with what I expected, but I wanted to make sure I wasn't missing anything). I definitely think it is worth putting this explanation in the docs. The docs talk a lot about
I didn't mean "inject the
The doc claims that
You don't need to register |
I agree, all patterns involve tradeoffs, or pros/cons. This pattern is just another tool, do with it what you will. You're free to not follow the pattern. I felt as though it was more important to document "the how" rather than "the why", less of a conceptual article and more of a guide. I really do appreciate this feedback.
My thought on extensibility was a bit preemptive, and just an initial thought. With generics in C#, you could leverage generic type parameters for an extension method, otherwise you'd end up extending each concrete class or worse, public static class OptionsExtensions
{
public static TValue Map<TValue, TOptions>(
this IOptions<TOptions> options, Func<TOptions, TValue> func) =>
func(options.Value);
} Without an interface wrapping the public static class OptionsExtensions
{
public static TValue Map<TValue>(
this Options options, Func<Options, TValue> func) =>
func(options);
}
public static class SomeOptionsExtensions
{
public static TValue Map<TValue>(
this SomeOptions options, Func<SomeOptions, TValue> func) =>
func(options);
}
public static class SomeMoreOptionsExtensions
{
public static TValue Map<TValue>(
this SomeMoreOptions, Func<SomeMoreOptions, TValue> func) =>
func(options);
} I suppose I can see either way, it's still a valid question -- "why is it needed?".
There is a call attention regarding how " I do have a PR to address this issue, it adds a section on the rationale. Does this make sense to you, would you want to change anything? See, additional lines here |
IOptions defers evaluation until
That's right, but T is a cached in this case so it's effectively a lazy singleton.
Can you clarify? |
* Added rationale section per #22886 * Apply suggestions from code review Co-authored-by: Bill Wagner <wiwagn@microsoft.com> * Apply suggestions from code review Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Co-authored-by: Bill Wagner <wiwagn@microsoft.com> Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
* update metadata (#22916) I had added the wrong ms.custom value * update links to ECMA standards (#22942) * update links to ECMA standards ECMA launched an updated website early this year. This PR updates links to ECMA 334 (C#), ECMA 335 (CLI), and TR-84 (XML data formats) * fix build error. Missing opening parenthesis in link. * clarify defensive copies (#22996) Fixes #21691 - Clarify the rules for defensive copies Fixes #22955 - Provide link to conceptual doc with examples. * remove discussion of Task-returning non-async methods (#23001) Fixes #16187 The usage of synchronous Task-returning methods is not generally recommended. See https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/blob/master/AsyncGuidance.md#prefer-asyncawait-over-directly-returning-task The examples were valid, but can cause hard-to-diagnose issues. As we add more advanced async scenarios, this scenario belongs there, with more details about when it is and isn't appropriate. (`using` in the non-async method is the primary mistake to run into). * How to compare strings: correct the list of ordinal-comparison operations (#23007) * fix typo (#23033) `GenEnvVariable` didn't appear in csharp/tutorials/AsyncStreams/start/IssuePRreport/IssuePRreport/Program.cs . so I think it's typo, I'm just getting start in c# and not sure this should be `GetEnvVariable`. Some of issue mention GetEnvVariable and didn't say it's typo , so sorry if it's already correct. Also sorry for my suck English. * Adding hyperlink to reference types (#23038) * Discards article: Fix the section about the discard pattern (#23039) * Discards article: Fix the section about the discard pattern * Update docs/csharp/discards.md Co-authored-by: Bill Wagner <wiwagn@microsoft.com> Co-authored-by: Bill Wagner <wiwagn@microsoft.com> * fix wrong URL (#23047) [C# Reference] URL is wrong. It's same with [C# Programming Guide] URL as above. * Bump MSTest.TestAdapter (#23053) Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](microsoft/testfx@v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump MSTest.TestFramework (#23051) Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](microsoft/testfx@v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump MSTest.TestFramework (#23056) Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](microsoft/testfx@v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump MSTest.TestAdapter (#23059) Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](microsoft/testfx@v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump MSTest.TestAdapter (#23061) Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](microsoft/testfx@v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update additional-resources.md (#23077) * Bump MSTest.TestAdapter (#23055) Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](microsoft/testfx@v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump MSTest.TestFramework (#23062) Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](microsoft/testfx@v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.CodeAnalysis (#23092) Bumps [Microsoft.CodeAnalysis](https://github.com/dotnet/roslyn) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/master/docs/Breaking%20API%20Changes.md) - [Commits](dotnet/roslyn@v3.8.0...v3.9.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.CodeAnalysis.CSharp.Workspaces (#23090) Bumps [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/master/docs/Breaking%20API%20Changes.md) - [Commits](dotnet/roslyn@v3.8.0...v3.9.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.CodeAnalysis.CSharp.Workspaces (#23091) Bumps [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/master/docs/Breaking%20API%20Changes.md) - [Commits](dotnet/roslyn@v3.8.0...v3.9.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.CodeAnalysis.CSharp.Workspaces (#23087) Bumps [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/master/docs/Breaking%20API%20Changes.md) - [Commits](dotnet/roslyn@v3.8.0...v3.9.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix non compilable code (#23095) * Fix non compliable code The sample code doesn't compile. * Update docs/core/diagnostics/distributed-tracing.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Apply suggestions from code review Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> Co-authored-by: Bill Wagner <wiwagn@microsoft.com> * Bump Microsoft.CodeAnalysis.CSharp.Workspaces (#23089) Bumps [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/master/docs/Breaking%20API%20Changes.md) - [Commits](dotnet/roslyn@v3.8.0...v3.9.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.CodeAnalysis.CSharp.Workspaces (#23086) Bumps [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/master/docs/Breaking%20API%20Changes.md) - [Commits](dotnet/roslyn@v3.8.0...v3.9.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove dotnet-trace ps from memory leak tutorial (#23074) * Bump MSTest.TestFramework (#23060) Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](microsoft/testfx@v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump coverlet.collector (#22935) Bumps [coverlet.collector](https://github.com/coverlet-coverage/coverlet) from 3.0.2 to 3.0.3. - [Release notes](https://github.com/coverlet-coverage/coverlet/releases) - [Commits](https://github.com/coverlet-coverage/coverlet/commits) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add section about EF Core events in well known events doc (#22828) * Add section about EF Core events in well known events doc * linter error * Update docs/core/diagnostics/well-known-event-providers.md Co-authored-by: John Salem <josalem@microsoft.com> Co-authored-by: John Salem <josalem@microsoft.com> * Update download path (#22909) * Update download path * feedback * feedback Co-authored-by: Bill Wagner <wiwagn@microsoft.com> * set topic type to reference for WCF diagnostics (#22819) * delete unimplemented rule doc (#22799) * Change EventPipe environment variables that went out of sync (#22947) * Parallel.ForEach should not be used for IO bound tasks (#22957) * Parallel.ForEach with CPU intensive operations * Refactored as per the code review comments * Fix ICorProfilerInfo9 .NET Core version, Fix COR_PRF_REJIT_FLAGS .NET Core version (#22964) * Correct ICorProfilerInfo9 available since .NET Core 2.1 * Correct that COR_PRF_REJIT_FLAGS was available in .NET Core 3.0 (ICorProfilerInfo10) * Cleanup .NET Core 2.2 include * Fix link to CA2247 (#22963) * update VS 'talk to us' link text (#23002) * Fix WF cookbook links (#23018) * Add preview 2 nullability changes (#23019) * Bump Octokit (#22933) Bumps [Octokit](https://github.com/octokit/octokit.net) from 0.49.0 to 0.50.0. - [Release notes](https://github.com/octokit/octokit.net/releases) - [Changelog](https://github.com/octokit/octokit.net/blob/main/ReleaseNotes.md) - [Commits](octokit/octokit.net@v0.49.0...v0.50.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Octokit (#22934) Bumps [Octokit](https://github.com/octokit/octokit.net) from 0.49.0 to 0.50.0. - [Release notes](https://github.com/octokit/octokit.net/releases) - [Changelog](https://github.com/octokit/octokit.net/blob/main/ReleaseNotes.md) - [Commits](octokit/octokit.net@v0.49.0...v0.50.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Require space before DU constructor arguments (#23094) * Bump Microsoft.NET.Test.Sdk (#22973) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22974) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22975) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk in /samples/snippets/csharp/xunit-test (#22976) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22977) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22979) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove DNX content (#22919) * Add breaking change from 2.0-2.1 (#22917) * breaking change from 2.0-2.1 * Update includes/core-changes/msbuild/2.1/dotnetclitoolreference.md Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> * Update includes/core-changes/msbuild/2.1/dotnetclitoolreference.md * Update msbuild file * Update msbuild file date * Update toc/title Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22980) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22982) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22981) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22984) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22986) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Moq (#22978) Bumps [Moq](https://github.com/moq/moq4) from 4.16.0 to 4.16.1. - [Release notes](https://github.com/moq/moq4/releases) - [Changelog](https://github.com/moq/moq4/blob/main/CHANGELOG.md) - [Commits](devlooped/moq@v4.16.0...v4.16.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Moq (#22985) Bumps [Moq](https://github.com/moq/moq4) from 4.16.0 to 4.16.1. - [Release notes](https://github.com/moq/moq4/releases) - [Changelog](https://github.com/moq/moq4/blob/main/CHANGELOG.md) - [Commits](devlooped/moq@v4.16.0...v4.16.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22987) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add missing prefixes for dotnet tool install (#23042) * Bump Microsoft.NET.Test.Sdk (#22990) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22989) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add a note to dotnet nuget add source (#22938) * Explain pseudo-code (#22693) * Fix line numbers for syntax highlighting (#23025) * Fix line numbers for syntax highlighting * Update docs/standard/security/cryptography-model.md * Numeric parsing precision breaking change (#23046) * Added rationale section per #22886 (#22907) * Added rationale section per #22886 * Apply suggestions from code review Co-authored-by: Bill Wagner <wiwagn@microsoft.com> * Apply suggestions from code review Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Co-authored-by: Bill Wagner <wiwagn@microsoft.com> Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> * Add details about "." in env var name (#22915) * Added cross-platform bits for env vars, and note/link re: . in names * Pre-commit hook, applied automatic markdownlint CLI fixes * Apply suggestions from code review * Create version-sweeper workflow YML file (#22931) * Create version-sweep.yml * Update .github/workflows/version-sweep.yml * added link for porting ebook in dotnet arch (#22965) * Porting eBook: add upgrade references (#22930) * add upgrade references * fix trailing spaces * Apply suggestions from code review Co-authored-by: David Pine <david.pine@microsoft.com> Co-authored-by: David Pine <david.pine@microsoft.com> * Explain Dockerfile in detail (#23012) * Address #22941 * Clean up, revery some of the crazy auto formating. * Even more auto format fixes * Fix MD linter violation * Update image syntax, this gives the grey border by default which was missing. * Remove second explaination, as it is a bit redundant. * Initial import of chapter and images * Updating image paths and styling * Update master to main * Remove update of .NET framework after upgrade * Linting updates * Linting updates * Linting update * Update page url in index * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix spelling Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix spelling Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Beth Massi <bethma@microsoft.com> * Update spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Adding comma Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change click to select Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change click to select Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Contractions Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Contractions and update of "click" to "select" Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Grammar fix Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix emphasis Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add emphasis Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Make active Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add comma Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update case Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add missing word Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix URL Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Indenting snippets * Various review changes * Update grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change "click" to "select" * Various final edits * Adding deployment article * Linting * Linting * Linting * Linting * Starting to add codeql * Style updates * Initial codeql article * Adding actions v pipelines article * Adding Actions index page * Fix casing on title Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update markdownlint.yml * Linting * Linting * Linting * Linting * Various edits for review * More edits for review process * Casing and spelling updates * Spelling and casing * Casing updates * More edits * edit pass * Updating main index * Edits for review process * More edits for review * Remove bullet * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Another round of edits * Fix click * Edits to grammar * Fix casing * Fix acronym * Grammar edits * More review changes * Adding retain version to URLs * Grammar edits * Grammer fix * Revert "Merge branch 'master' into devops-ebook-actions-index" This reverts commit 4b812a1, reversing changes made to 665e058. * Revert "Grammar edits" This reverts commit d9a3353. * Various style edits * edit pass * react to build suggestions * fix broken ToC link * Update docs/architecture/devops-for-aspnet-developers/toc.yml * edit pass Co-authored-by: Bill Wagner <wiwagn@microsoft.com> Co-authored-by: Petr Kulikov <petr.kulikov@gmail.com> Co-authored-by: DeadBushSanpai <46657591+DeadBushSanpai@users.noreply.github.com> Co-authored-by: sampreeth1999 <32814049+sampreeth1999@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> Co-authored-by: Paulo Morgado <470455+paulomorgado@users.noreply.github.com> Co-authored-by: Sung Yoon Whang <suwhang@microsoft.com> Co-authored-by: John Salem <josalem@microsoft.com> Co-authored-by: Maira Wenzel <mairaw@microsoft.com> Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Co-authored-by: Surender Singh <surenderssm@users.noreply.github.com> Co-authored-by: Morgan Creekmore <morgan@creekmore.email> Co-authored-by: Christer van der Meeren <cmeeren@protonmail.com> Co-authored-by: Andy De George <67293991+adegeo@users.noreply.github.com> Co-authored-by: Tom Dykstra <tdykstra@microsoft.com> Co-authored-by: David Pine <david.pine@microsoft.com> Co-authored-by: Sreenivasulu Kalluru <69580789+Sreenivas-Kalluru@users.noreply.github.com> Co-authored-by: Steve Smith <steve@kentsmiths.com> Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> Co-authored-by: Beth Massi <bethma@microsoft.com> Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com>
* Included DevOps with ASP.NET Core and Azure eBook (#23098) * Included DevOps with ASP.NET Core and Azure eBook * Fixed lint error. * Update docs/architecture/toc.yml Co-authored-by: Nish Anil <nish@microsoft.com> Co-authored-by: Nish Anil <nish@microsoft.com> * Included toc yaml for devops ebook * Devops ebook (#23137) * Initial import of chapter and images * Updating image paths and styling * Update master to main * Remove update of .NET framework after upgrade * Linting updates * Linting updates * Linting update * Update page url in index * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix spelling Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix spelling Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Beth Massi <bethma@microsoft.com> * Update spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Adding comma Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change click to select Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change click to select Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Contractions Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Contractions and update of "click" to "select" Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Grammar fix Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix emphasis Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add emphasis Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Make active Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add comma Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update case Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add missing word Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix URL Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Indenting snippets * Various review changes * Update grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change "click" to "select" * Various final edits Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> Co-authored-by: Beth Massi <bethma@microsoft.com> Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Adding GitHub Actions .NET Deployment Article (#23332) * Initial import of chapter and images * Updating image paths and styling * Update master to main * Remove update of .NET framework after upgrade * Linting updates * Linting updates * Linting update * Update page url in index * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix spelling Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix spelling Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Beth Massi <bethma@microsoft.com> * Update spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Adding comma Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change click to select Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change click to select Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Contractions Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Contractions and update of "click" to "select" Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Grammar fix Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix emphasis Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add emphasis Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Make active Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add comma Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update case Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add missing word Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix URL Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Indenting snippets * Various review changes * Update grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change "click" to "select" * Various final edits * Adding deployment article * Linting * Linting * Linting * Linting * Style updates * Fix casing on title Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Various edits for review * More edits for review process * More edits * edit pass Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> Co-authored-by: Beth Massi <bethma@microsoft.com> Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * CodeQL Article (#23392) * Initial import of chapter and images * Updating image paths and styling * Update master to main * Remove update of .NET framework after upgrade * Linting updates * Linting updates * Linting update * Update page url in index * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix spelling Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix spelling Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Beth Massi <bethma@microsoft.com> * Update spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Adding comma Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change click to select Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change click to select Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Contractions Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Contractions and update of "click" to "select" Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Grammar fix Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix emphasis Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add emphasis Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Make active Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add comma Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update case Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add missing word Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix URL Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Indenting snippets * Various review changes * Update grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change "click" to "select" * Various final edits * Adding deployment article * Linting * Linting * Linting * Linting * Starting to add codeql * Style updates * Initial codeql article * Fix casing on title Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Linting * Linting * Various edits for review * More edits for review process * Casing and spelling updates * More edits * edit pass * Edits for review process * More edits for review * Remove bullet * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Another round of edits * Fix click Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> Co-authored-by: Beth Massi <bethma@microsoft.com> Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * DevOps eBook: GitHub Actions vs Azure Pipelines (#23441) * Initial import of chapter and images * Updating image paths and styling * Update master to main * Remove update of .NET framework after upgrade * Linting updates * Linting updates * Linting update * Update page url in index * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix spelling Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix spelling Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Beth Massi <bethma@microsoft.com> * Update spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Adding comma Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change click to select Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change click to select Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Contractions Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Contractions and update of "click" to "select" Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Grammar fix Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix emphasis Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add emphasis Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Make active Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add comma Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update case Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add missing word Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix URL Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Indenting snippets * Various review changes * Update grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change "click" to "select" * Various final edits * Adding deployment article * Linting * Linting * Linting * Linting * Starting to add codeql * Style updates * Initial codeql article * Adding actions v pipelines article * Fix casing on title Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Linting * Linting * Linting * Various edits for review * More edits for review process * Casing and spelling updates * Spelling and casing * More edits * edit pass * Edits for review process * More edits for review * Remove bullet * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Another round of edits * Fix click * Edits to grammar * Fix casing * Fix acronym * Grammar edits * More review changes * edit pass * react to build suggestions * fix broken ToC link * Update docs/architecture/devops-for-aspnet-developers/toc.yml Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> Co-authored-by: Beth Massi <bethma@microsoft.com> Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> Co-authored-by: David Pine <david.pine@microsoft.com> * Devops ebook: Actions index (#23462) * update metadata (#22916) I had added the wrong ms.custom value * update links to ECMA standards (#22942) * update links to ECMA standards ECMA launched an updated website early this year. This PR updates links to ECMA 334 (C#), ECMA 335 (CLI), and TR-84 (XML data formats) * fix build error. Missing opening parenthesis in link. * clarify defensive copies (#22996) Fixes #21691 - Clarify the rules for defensive copies Fixes #22955 - Provide link to conceptual doc with examples. * remove discussion of Task-returning non-async methods (#23001) Fixes #16187 The usage of synchronous Task-returning methods is not generally recommended. See https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/blob/master/AsyncGuidance.md#prefer-asyncawait-over-directly-returning-task The examples were valid, but can cause hard-to-diagnose issues. As we add more advanced async scenarios, this scenario belongs there, with more details about when it is and isn't appropriate. (`using` in the non-async method is the primary mistake to run into). * How to compare strings: correct the list of ordinal-comparison operations (#23007) * fix typo (#23033) `GenEnvVariable` didn't appear in csharp/tutorials/AsyncStreams/start/IssuePRreport/IssuePRreport/Program.cs . so I think it's typo, I'm just getting start in c# and not sure this should be `GetEnvVariable`. Some of issue mention GetEnvVariable and didn't say it's typo , so sorry if it's already correct. Also sorry for my suck English. * Adding hyperlink to reference types (#23038) * Discards article: Fix the section about the discard pattern (#23039) * Discards article: Fix the section about the discard pattern * Update docs/csharp/discards.md Co-authored-by: Bill Wagner <wiwagn@microsoft.com> Co-authored-by: Bill Wagner <wiwagn@microsoft.com> * fix wrong URL (#23047) [C# Reference] URL is wrong. It's same with [C# Programming Guide] URL as above. * Bump MSTest.TestAdapter (#23053) Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](https://github.com/microsoft/testfx/compare/v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump MSTest.TestFramework (#23051) Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](https://github.com/microsoft/testfx/compare/v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump MSTest.TestFramework (#23056) Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](https://github.com/microsoft/testfx/compare/v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump MSTest.TestAdapter (#23059) Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](https://github.com/microsoft/testfx/compare/v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump MSTest.TestAdapter (#23061) Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](https://github.com/microsoft/testfx/compare/v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update additional-resources.md (#23077) * Bump MSTest.TestAdapter (#23055) Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](https://github.com/microsoft/testfx/compare/v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump MSTest.TestFramework (#23062) Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](https://github.com/microsoft/testfx/compare/v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.CodeAnalysis (#23092) Bumps [Microsoft.CodeAnalysis](https://github.com/dotnet/roslyn) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/master/docs/Breaking%20API%20Changes.md) - [Commits](https://github.com/dotnet/roslyn/compare/v3.8.0...v3.9.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.CodeAnalysis.CSharp.Workspaces (#23090) Bumps [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/master/docs/Breaking%20API%20Changes.md) - [Commits](https://github.com/dotnet/roslyn/compare/v3.8.0...v3.9.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.CodeAnalysis.CSharp.Workspaces (#23091) Bumps [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/master/docs/Breaking%20API%20Changes.md) - [Commits](https://github.com/dotnet/roslyn/compare/v3.8.0...v3.9.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.CodeAnalysis.CSharp.Workspaces (#23087) Bumps [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/master/docs/Breaking%20API%20Changes.md) - [Commits](https://github.com/dotnet/roslyn/compare/v3.8.0...v3.9.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix non compilable code (#23095) * Fix non compliable code The sample code doesn't compile. * Update docs/core/diagnostics/distributed-tracing.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Apply suggestions from code review Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> Co-authored-by: Bill Wagner <wiwagn@microsoft.com> * Bump Microsoft.CodeAnalysis.CSharp.Workspaces (#23089) Bumps [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/master/docs/Breaking%20API%20Changes.md) - [Commits](https://github.com/dotnet/roslyn/compare/v3.8.0...v3.9.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.CodeAnalysis.CSharp.Workspaces (#23086) Bumps [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/master/docs/Breaking%20API%20Changes.md) - [Commits](https://github.com/dotnet/roslyn/compare/v3.8.0...v3.9.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove dotnet-trace ps from memory leak tutorial (#23074) * Bump MSTest.TestFramework (#23060) Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1. - [Release notes](https://github.com/microsoft/testfx/releases) - [Commits](https://github.com/microsoft/testfx/compare/v2.1.2...v2.2.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump coverlet.collector (#22935) Bumps [coverlet.collector](https://github.com/coverlet-coverage/coverlet) from 3.0.2 to 3.0.3. - [Release notes](https://github.com/coverlet-coverage/coverlet/releases) - [Commits](https://github.com/coverlet-coverage/coverlet/commits) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add section about EF Core events in well known events doc (#22828) * Add section about EF Core events in well known events doc * linter error * Update docs/core/diagnostics/well-known-event-providers.md Co-authored-by: John Salem <josalem@microsoft.com> Co-authored-by: John Salem <josalem@microsoft.com> * Update download path (#22909) * Update download path * feedback * feedback Co-authored-by: Bill Wagner <wiwagn@microsoft.com> * set topic type to reference for WCF diagnostics (#22819) * delete unimplemented rule doc (#22799) * Change EventPipe environment variables that went out of sync (#22947) * Parallel.ForEach should not be used for IO bound tasks (#22957) * Parallel.ForEach with CPU intensive operations * Refactored as per the code review comments * Fix ICorProfilerInfo9 .NET Core version, Fix COR_PRF_REJIT_FLAGS .NET Core version (#22964) * Correct ICorProfilerInfo9 available since .NET Core 2.1 * Correct that COR_PRF_REJIT_FLAGS was available in .NET Core 3.0 (ICorProfilerInfo10) * Cleanup .NET Core 2.2 include * Fix link to CA2247 (#22963) * update VS 'talk to us' link text (#23002) * Fix WF cookbook links (#23018) * Add preview 2 nullability changes (#23019) * Bump Octokit (#22933) Bumps [Octokit](https://github.com/octokit/octokit.net) from 0.49.0 to 0.50.0. - [Release notes](https://github.com/octokit/octokit.net/releases) - [Changelog](https://github.com/octokit/octokit.net/blob/main/ReleaseNotes.md) - [Commits](https://github.com/octokit/octokit.net/compare/v0.49.0...v0.50.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Octokit (#22934) Bumps [Octokit](https://github.com/octokit/octokit.net) from 0.49.0 to 0.50.0. - [Release notes](https://github.com/octokit/octokit.net/releases) - [Changelog](https://github.com/octokit/octokit.net/blob/main/ReleaseNotes.md) - [Commits](https://github.com/octokit/octokit.net/compare/v0.49.0...v0.50.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Require space before DU constructor arguments (#23094) * Bump Microsoft.NET.Test.Sdk (#22973) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22974) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22975) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk in /samples/snippets/csharp/xunit-test (#22976) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22977) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22979) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove DNX content (#22919) * Add breaking change from 2.0-2.1 (#22917) * breaking change from 2.0-2.1 * Update includes/core-changes/msbuild/2.1/dotnetclitoolreference.md Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> * Update includes/core-changes/msbuild/2.1/dotnetclitoolreference.md * Update msbuild file * Update msbuild file date * Update toc/title Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22980) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22982) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22981) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22984) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22986) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Moq (#22978) Bumps [Moq](https://github.com/moq/moq4) from 4.16.0 to 4.16.1. - [Release notes](https://github.com/moq/moq4/releases) - [Changelog](https://github.com/moq/moq4/blob/main/CHANGELOG.md) - [Commits](https://github.com/moq/moq4/compare/v4.16.0...v4.16.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Moq (#22985) Bumps [Moq](https://github.com/moq/moq4) from 4.16.0 to 4.16.1. - [Release notes](https://github.com/moq/moq4/releases) - [Changelog](https://github.com/moq/moq4/blob/main/CHANGELOG.md) - [Commits](https://github.com/moq/moq4/compare/v4.16.0...v4.16.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22987) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add missing prefixes for dotnet tool install (#23042) * Bump Microsoft.NET.Test.Sdk (#22990) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.NET.Test.Sdk (#22989) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add a note to dotnet nuget add source (#22938) * Explain pseudo-code (#22693) * Fix line numbers for syntax highlighting (#23025) * Fix line numbers for syntax highlighting * Update docs/standard/security/cryptography-model.md * Numeric parsing precision breaking change (#23046) * Added rationale section per #22886 (#22907) * Added rationale section per #22886 * Apply suggestions from code review Co-authored-by: Bill Wagner <wiwagn@microsoft.com> * Apply suggestions from code review Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Co-authored-by: Bill Wagner <wiwagn@microsoft.com> Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> * Add details about "." in env var name (#22915) * Added cross-platform bits for env vars, and note/link re: . in names * Pre-commit hook, applied automatic markdownlint CLI fixes * Apply suggestions from code review * Create version-sweeper workflow YML file (#22931) * Create version-sweep.yml * Update .github/workflows/version-sweep.yml * added link for porting ebook in dotnet arch (#22965) * Porting eBook: add upgrade references (#22930) * add upgrade references * fix trailing spaces * Apply suggestions from code review Co-authored-by: David Pine <david.pine@microsoft.com> Co-authored-by: David Pine <david.pine@microsoft.com> * Explain Dockerfile in detail (#23012) * Address #22941 * Clean up, revery some of the crazy auto formating. * Even more auto format fixes * Fix MD linter violation * Update image syntax, this gives the grey border by default which was missing. * Remove second explaination, as it is a bit redundant. * Initial import of chapter and images * Updating image paths and styling * Update master to main * Remove update of .NET framework after upgrade * Linting updates * Linting updates * Linting update * Update page url in index * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix spelling Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix grammar Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Fix spelling Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Beth Massi <bethma@microsoft.com> * Update spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Adding comma Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change click to select Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change click to select Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Contractions Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Contractions and update of "click" to "select" Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Grammar fix Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix emphasis Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add emphasis Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Make active Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add comma Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update case Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Add missing word Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix URL Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix spelling Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Indenting snippets * Various review changes * Update grammar Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Change "click" to "select" * Various final edits * Adding deployment article * Linting * Linting * Linting * Linting * Starting to add codeql * Style updates * Initial codeql article * Adding actions v pipelines article * Adding Actions index page * Fix casing on title Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Fix casing Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update markdownlint.yml * Linting * Linting * Linting * Linting * Various edits for review * More edits for review process * Casing and spelling updates * Spelling and casing * Casing updates * More edits * edit pass * Updating main index * Edits for review process * More edits for review * Remove bullet * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Another round of edits * Fix click * Edits to grammar * Fix casing * Fix acronym * Grammar edits * More review changes * Adding retain version to URLs * Grammar edits * Grammer fix * Revert "Merge branch 'master' into devops-ebook-actions-index" This reverts commit 4b812a135511a1a0a485f7c2c4c4d4aa20e03448, reversing changes made to 665e0581defb9620002faa4bb26e9b05dfe41d57. * Revert "Grammar edits" This reverts commit d9a33533e80d3504b5b7ff57ea0569f34e017ddf. * Various style edits * edit pass * react to build suggestions * fix broken ToC link * Update docs/architecture/devops-for-aspnet-developers/toc.yml * edit pass Co-authored-by: Bill Wagner <wiwagn@microsoft.com> Co-authored-by: Petr Kulikov <petr.kulikov@gmail.com> Co-authored-by: DeadBushSanpai <46657591+DeadBushSanpai@users.noreply.github.com> Co-authored-by: sampreeth1999 <32814049+sampreeth1999@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> Co-authored-by: Paulo Morgado <470455+paulomorgado@users.noreply.github.com> Co-authored-by: Sung Yoon Whang <suwhang@microsoft.com> Co-authored-by: John Salem <josalem@microsoft.com> Co-authored-by: Maira Wenzel <mairaw@microsoft.com> Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Co-authored-by: Surender Singh <surenderssm@users.noreply.github.com> Co-authored-by: Morgan Creekmore <morgan@creekmore.email> Co-authored-by: Christer van der Meeren <cmeeren@protonmail.com> Co-authored-by: Andy De George <67293991+adegeo@users.noreply.github.com> Co-authored-by: Tom Dykstra <tdykstra@microsoft.com> Co-authored-by: David Pine <david.pine@microsoft.com> Co-authored-by: Sreenivasulu Kalluru <69580789+Sreenivas-Kalluru@users.noreply.github.com> Co-authored-by: Steve Smith <steve@kentsmiths.com> Co-authored-by: Sumit Ghosh <sumit.ghosh@neudesic.com> Co-authored-by: Beth Massi <bethma@microsoft.com> Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Edit pass on GitHub Actions eBook content * Adjust the DevOps for ASP.NET Core Developers eBook TOC (#23552) * Update the DevOps for ASP.NET Core devs eBook, TOC * Pre-commit hook, applied automatic markdownlint CLI fixes * Updates based on rendered preview. * Added missing UID * Fix for devops-ebook (#23568) * Included next page link for index page * Fixed previous and next link in each pages * Fixed title for DevOps e-book * Fixed lint error * Updated index page (#23771) * Update docs/architecture/devops-for-aspnet-developers/monitoring.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/monitoring.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/monitoring.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-build.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-codeql.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-deploy.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-deploy.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-vs-pipelines.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-vs-pipelines.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Update docs/architecture/devops-for-aspnet-developers/actions-vs-pipelines.md Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> * Included review suggestions * Fixed lint errors * Included further suggestions * Removed unncessary codefence * Apply suggestions from code review Co-authored-by: David Pine <david.pine@microsoft.com> * Update docs/architecture/devops-for-aspnet-developers/actions-deploy.md Co-authored-by: David Pine <david.pine@microsoft.com> * Update docs/architecture/devops-for-aspnet-developers/actions-deploy.md Co-authored-by: David Pine <david.pine@microsoft.com> * Update docs/architecture/devops-for-aspnet-developers/actions-deploy.md Co-authored-by: David Pine <david.pine@microsoft.com> * Update docs/architecture/devops-for-aspnet-developers/actions-deploy.md Co-authored-by: David Pine <david.pine@microsoft.com> * Changed default branch from master to main * Updated cicd content * Fixed build related warning * Fixed indentation * Apply suggestions from code review * Apply suggestions from code review Fix broken links and add preserve view query string parameter. Co-authored-by: Nish Anil <nish@microsoft.com> Co-authored-by: Colin Dembovsky <colindembovsky@gmail.com> Co-authored-by: Beth Massi <bethma@microsoft.com> Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> Co-authored-by: David Pine <david.pine@microsoft.com> Co-authored-by: Bill Wagner <wiwagn@microsoft.com> Co-authored-by: Petr Kulikov <petr.kulikov@gmail.com> Co-authored-by: DeadBushSanpai <46657591+DeadBushSanpai@users.noreply.github.com> Co-authored-by: sampreeth1999 <32814049+sampreeth1999@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Youssef Victor <youssefvictor00@gmail.com> Co-authored-by: Paulo Morgado <470455+paulomorgado@users.noreply.github.com> Co-authored-by: Sung Yoon Whang <suwhang@microsoft.com> Co-authored-by: John Salem <josalem@microsoft.com> Co-authored-by: Maira Wenzel <mairaw@microsoft.com> Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Co-authored-by: Surender Singh <surenderssm@users.noreply.github.com> Co-authored-by: Morgan Creekmore <morgan@creekmore.email> Co-authored-by: Christer van der Meeren <cmeeren@protonmail.com> Co-authored-by: Andy De George <67293991+adegeo@users.noreply.github.com> Co-authored-by: Tom Dykstra <tdykstra@microsoft.com> Co-authored-by: Sreenivasulu Kalluru <69580789+Sreenivas-Kalluru@users.noreply.github.com> Co-authored-by: Steve Smith <steve@kentsmiths.com> Co-authored-by: Scott Addie <scott.addie@microsoft.com>
@davidfowl if I may, I believe the point @eatdrinksleepcode was trying to make has merit: The statement "you don't need to register the wrapped type", while true, makes it sound like the benefit is that consumers can avoid application startup code for that type. This is not the case because on startup we need at least two things: DI registration, and binding to configuration, and the latter is still needed. To make it more concrete with code:
So per each type there is still boilerplate startup code needed for the options consumer, roughly in the same place in the execution pipeline. So as an entry-point developer, you don't really need to "do less", or "know about less", if that makes sense to you. I see that the docs already recommend as best practice to create a constant field with the configuration section name. I can imagine that
Does this make sense so far, or does the .NET team have a different view on whether this is a valuable benefit for application writers? Is there already a built-in default binding in ASP.NET Core that I am overlooking? Of course we could work around this ourselves, either by exposing an interface or by auto-configuring some default naming convention (e.g. options class name), but those are much less powerful as they would:
=== Thinking in solutions - a potential implementation could involve a stricter variation of the
This would allow configuring all such options in a single bind by introducing a new If this is feasible, then this should allow eliminating any and all default startup code per each options type. If more control is explicitly needed, defaults can always be overridden by an explicit call to any of the aforementioned binding APIs. One downside I can detect is that unlike a type-level constant, this would make the options name a part of the instance. I suppose this is pretty much why it isn't there today. I don't like it very much but can't see how to avoid it in this implementation since there is no type-level inheritance in C#. I'm wondering if it is a dealbreaker from framework perspective. A variant can be exposing a method instead of a property, to at least alleviate serialization concerns. Is any of this relatable? Is this worth opening a new feature request for so it can be further explored? Apologies for the length of the post, wanted to lay my thoughts in one go. |
I think want you want to do is possible today by plugging into the existing infrastructure. It’s not something we’d recommend globally for all options. Why not build a package that enables the developer experience you want for your types (or see if one already exists on nuget)? |
Thanks for your swift response.
Can you elaborate? Perhaps give a code example?
Can you specify why? Any particular part in the reasoning presented above does not align with the .Net team's vision? Do you agree with some of the thoughts regarding more expressive semantics and reduced cognitive load?
I'm not referring to our own types, I'm talking about the ability to auto-bind all option types by default, including framework and third-party types. Is there a good reason why it should be preferable to code a name for each one separately, and repeatedly in each application, when the defaults could work just fine in the vast majority of cases? Option types already define their schema's contract, why not let them prefer their default container name as well, if it removes the need for every application to code that binding one by one? |
There is no information on this page about why the
IOptions<T>
interface exists, what purpose it serves, or why we should need to inject anIOptions<T>
instance instead of aT
instance for accessing configuration.For comparison, a similar example in Java Spring Boot would look like this:
Note that the parameter to the model constructor is the type
PositionOptions
; there is no need for any wrapper type.There just doesn't seem to be any value in wrapping the actual options type in
IOptions<>
. But I want to believe there is a rationale for this that I am missing, and I would love to see that rationale added to this page.P.S. An issue was opened against the corresponding page for ASP.NET Core in November 2018 titled "Why should we use IOptions when we can inject the configuration object directly". There was some dicussion, and the issue was eventually closed after a docs update, "Emphasize IOptionsMonitor in Options topic + updates". It was a very large update, and there is no way for me to understand what part of that update was supposed to apply to that issue. But reading the page now, I don't see anything that addresses that issue's question.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
The text was updated successfully, but these errors were encountered: