diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index a1ec2305c6f45..2d53a6c601681 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1908,6 +1908,19 @@ updates:
dotnet:
patterns:
- "*" # Prefer a single PR per project update.
+ - package-ecosystem: "nuget"
+ directory: "/docs/core/extensions/logging/snippets/source-generation/csharp" #csharp.csproj
+ schedule:
+ interval: "weekly"
+ day: "wednesday"
+ open-pull-requests-limit: 5
+ cooldown:
+ default-days: 7
+ groups:
+ # Group .NET updates together for projects.
+ dotnet:
+ patterns:
+ - "*" # Prefer a single PR per project update.
- package-ecosystem: "nuget"
directory: "/docs/core/extensions/snippets/async-state/csharp/AspNetCoreIntegration" #AspNetCoreIntegration.csproj
schedule:
@@ -2584,16 +2597,3 @@ updates:
dotnet:
patterns:
- "*" # Prefer a single PR per project update.
- - package-ecosystem: "nuget"
- directory: "/docs/core/extensions/snippets/logging/getting-started-type-category-name" #getting-started-type-category-name.csproj
- schedule:
- interval: "weekly"
- day: "wednesday"
- open-pull-requests-limit: 5
- cooldown:
- default-days: 7
- groups:
- # Group .NET updates together for projects.
- dotnet:
- patterns:
- - "*" # Prefer a single PR per project update.
diff --git a/.github/workflows/check-for-build-warnings.yml b/.github/workflows/check-for-build-warnings.yml
index 27def4ba21480..ef30a22af7096 100644
--- a/.github/workflows/check-for-build-warnings.yml
+++ b/.github/workflows/check-for-build-warnings.yml
@@ -12,14 +12,14 @@ jobs:
name: Look for build warnings
runs-on: ubuntu-latest
permissions:
- statuses: read
- pull-requests: write
+ statuses: read
+ pull-requests: write
steps:
- - name: Harden Runner
- uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
- with:
- egress-policy: audit
+ - name: Harden Runner
+ uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
+ with:
+ egress-policy: audit
- - uses: dotnet/docs-tools/actions/status-checker@e761d65daef04078de70423f735850919b4c8610 # main
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
+ - uses: dotnet/docs-tools/actions/status-checker@455480c2e1c2fa90ecb711963250f000d66d3251 # main
+ with:
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/cleanrepo-orphaned-articles.yml b/.github/workflows/cleanrepo-orphaned-articles.yml
index a6548235fc033..068f4a79473ed 100644
--- a/.github/workflows/cleanrepo-orphaned-articles.yml
+++ b/.github/workflows/cleanrepo-orphaned-articles.yml
@@ -21,7 +21,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
# Call clean repo
- name: Clean repo
diff --git a/.github/workflows/cleanrepo-orphaned-images.yml b/.github/workflows/cleanrepo-orphaned-images.yml
index 3fd268d76b87c..01086aca448df 100644
--- a/.github/workflows/cleanrepo-orphaned-images.yml
+++ b/.github/workflows/cleanrepo-orphaned-images.yml
@@ -21,7 +21,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
# Call clean repo
- name: Clean repo
diff --git a/.github/workflows/cleanrepo-orphaned-includes.yml b/.github/workflows/cleanrepo-orphaned-includes.yml
index f184e56f0e50f..881c99ce8cce9 100644
--- a/.github/workflows/cleanrepo-orphaned-includes.yml
+++ b/.github/workflows/cleanrepo-orphaned-includes.yml
@@ -21,7 +21,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
# Call clean repo
- name: Clean repo
diff --git a/.github/workflows/cleanrepo-orphaned-snippets.yml b/.github/workflows/cleanrepo-orphaned-snippets.yml
index c7b2d1a2d0fc8..25fe7b1f1c6e0 100644
--- a/.github/workflows/cleanrepo-orphaned-snippets.yml
+++ b/.github/workflows/cleanrepo-orphaned-snippets.yml
@@ -21,7 +21,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
# Call clean repo
- name: Clean repo
diff --git a/.github/workflows/cleanrepo-redirect-hops.yml b/.github/workflows/cleanrepo-redirect-hops.yml
index baaa997a44bc7..177130464f231 100644
--- a/.github/workflows/cleanrepo-redirect-hops.yml
+++ b/.github/workflows/cleanrepo-redirect-hops.yml
@@ -21,7 +21,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
# Call clean repo
- name: Clean repo
diff --git a/.github/workflows/cleanrepo-relative-links.yml b/.github/workflows/cleanrepo-relative-links.yml
index 7781cda6b90d9..545b1410981c6 100644
--- a/.github/workflows/cleanrepo-relative-links.yml
+++ b/.github/workflows/cleanrepo-relative-links.yml
@@ -21,7 +21,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
# Call clean repo
- name: Clean repo
diff --git a/.github/workflows/cleanrepo-replace-redirects.yml b/.github/workflows/cleanrepo-replace-redirects.yml
index d81eb8b6c0004..0b823808ccc01 100644
--- a/.github/workflows/cleanrepo-replace-redirects.yml
+++ b/.github/workflows/cleanrepo-replace-redirects.yml
@@ -21,7 +21,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
# Call clean repo
- name: Clean repo
diff --git a/.github/workflows/dependabot-bot.yml b/.github/workflows/dependabot-bot.yml
index cdf341425783b..c4630c50015aa 100644
--- a/.github/workflows/dependabot-bot.yml
+++ b/.github/workflows/dependabot-bot.yml
@@ -30,7 +30,7 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
# - name: Setup .NET
# uses: actions/setup-dotnet@4d4a70f4a5b2a5a5329f13be4ac933f2c9206ac0
# with:
diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml
index 29013db85959a..9abab16bcf7e7 100644
--- a/.github/workflows/dependency-review.yml
+++ b/.github/workflows/dependency-review.yml
@@ -22,6 +22,6 @@ jobs:
egress-policy: audit
- name: 'Checkout Repository'
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: 'Dependency Review'
uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0
diff --git a/.github/workflows/docs-verifier.yml b/.github/workflows/docs-verifier.yml
index ee8896a3f3bdf..c49faee591593 100644
--- a/.github/workflows/docs-verifier.yml
+++ b/.github/workflows/docs-verifier.yml
@@ -19,7 +19,7 @@ jobs:
egress-policy: audit
- name: Checkout the repository
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Validate
uses: dotnet/docs-tools/actions/docs-verifier@1397e452fa0b49e9e52bc2443cd9ec6182a05294 # main
diff --git a/.github/workflows/generate-preview-links.yml b/.github/workflows/generate-preview-links.yml
index 35f759da9db02..84f913856bd48 100644
--- a/.github/workflows/generate-preview-links.yml
+++ b/.github/workflows/generate-preview-links.yml
@@ -15,13 +15,11 @@ jobs:
statuses: read
pull-requests: write
steps:
- - name: Harden Runner
- uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
- with:
- egress-policy: audit
+ - name: Harden Runner
+ uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
+ with:
+ egress-policy: audit
- - uses: dotnet/docs-tools/actions/preview-link-generator@e761d65daef04078de70423f735850919b4c8610 # main
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- docs_path: "docs"
- url_base_path: "dotnet"
+ - uses: dotnet/docs-tools/actions/preview-link-generator@455480c2e1c2fa90ecb711963250f000d66d3251 # main
+ with:
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml
index 8d054da316bd3..3cf3d41bff34f 100644
--- a/.github/workflows/markdownlint.yml
+++ b/.github/workflows/markdownlint.yml
@@ -26,8 +26,8 @@ jobs:
with:
egress-policy: audit
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- - uses: DavidAnson/markdownlint-cli2-action@8de2aa07cae85fd17c0b35642db70cf5495f1d25 # v24.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+ - uses: DavidAnson/markdownlint-cli2-action@6bf21b07787794f89a243495939cd651942aeabe # v24.1.0
with:
config: ".markdownlint-cli2.jsonc"
globs: "**/*.md"
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 354b8f02494df..7b61b3d3867f9 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -36,7 +36,7 @@ jobs:
egress-policy: audit
- name: "Checkout code"
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
@@ -71,6 +71,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v3.29.5
+ uses: github/codeql-action/upload-sarif@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v3.29.5
with:
sarif_file: results.sarif
diff --git a/.github/workflows/snippets5000.yml b/.github/workflows/snippets5000.yml
index a106f217695da..b527306e2841d 100644
--- a/.github/workflows/snippets5000.yml
+++ b/.github/workflows/snippets5000.yml
@@ -36,7 +36,7 @@ jobs:
egress-policy: audit
- name: Checkout repository
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #@v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 #@v7.0.1
# Get the latest preview SDK (or sdk not installed by the runner)
- name: Setup .NET
diff --git a/.openpublishing.redirection.ai.json b/.openpublishing.redirection.ai.json
index 47c7bcdc01924..a71a3d4904fb9 100644
--- a/.openpublishing.redirection.ai.json
+++ b/.openpublishing.redirection.ai.json
@@ -37,6 +37,10 @@
"redirect_url": "/dotnet/ai/overview",
"redirect_document_id": true
},
+ {
+ "source_path_from_root": "/docs/ai/get-started-app-chat-scaling-with-azure-container-apps.md",
+ "redirect_url": "/azure/developer/python/azure-ai-for-python-developers"
+ },
{
"source_path_from_root": "/docs/ai/how-to/app-service-db-auth.md",
"redirect_url": "/dotnet/ai"
diff --git a/docfx.json b/docfx.json
index 38ee5a7032539..f00e4524ba467 100644
--- a/docfx.json
+++ b/docfx.json
@@ -204,7 +204,7 @@
"docs/azure/sdk/**/*.*": "https://github.com/azure/azure-sdk-for-net",
"docs/core/porting/upgrade-assistant*.md": "https://github.com/dotnet/upgrade-assistant/issues/new/choose",
"docs/fsharp/**/**.md": "https://github.com/dotnet/fsharp",
- "docs/fundamentals/code-analysis/quality-rules/**/*.md": "https://github.com/dotnet/roslyn-analyzers/issues",
+ "docs/fundamentals/code-analysis/quality-rules/**/*.md": "https://github.com/dotnet/sdk/issues",
"docs/fundamentals/code-analysis/quality-rules/**/il*.md": "https://github.com/mono/linker/issues",
"docs/fundamentals/code-analysis/style-rules/**/*.md": "https://github.com/dotnet/roslyn/issues",
"docs/machine-learning/**/**.md": "https://github.com/dotnet/machinelearning",
diff --git a/docs/ai/evaluation/snippets/evaluate-ai-responses/TestAI.csproj b/docs/ai/evaluation/snippets/evaluate-ai-responses/TestAI.csproj
index 14c4f0013c7ee..e4e6a16f797cb 100644
--- a/docs/ai/evaluation/snippets/evaluate-ai-responses/TestAI.csproj
+++ b/docs/ai/evaluation/snippets/evaluate-ai-responses/TestAI.csproj
@@ -11,14 +11,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/docs/ai/get-started-app-chat-scaling-with-azure-container-apps.md b/docs/ai/get-started-app-chat-scaling-with-azure-container-apps.md
deleted file mode 100644
index 95ae4313b65e9..0000000000000
--- a/docs/ai/get-started-app-chat-scaling-with-azure-container-apps.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title: Scale Azure OpenAI for .NET chat sample using RAG
-description: Learn how to add load balancing to your application to extend the chat app beyond the Azure OpenAI token and model quota limits.
-ms.date: 03/04/2026
-ai-usage: ai-assisted
-ms.topic: get-started
-# CustomerIntent: As a .NET developer new to Azure OpenAI, I want to scale my Azure OpenAI capacity to avoid rate limit errors with Azure Container Apps.
----
-
-# Scale Azure OpenAI for .NET chat using RAG with Azure Container Apps
-
-[!INCLUDE [aca-load-balancer-intro](~/azure-dev-docs/articles/ai/includes//scaling-load-balancer-introduction-azure-container-apps.md)]
-
-## Prerequisites
-
-* Azure subscription. [Create one for free](https://azure.microsoft.com/pricing/purchase-options/azure-account?cid=msft_learn).
-
-[Dev containers](https://containers.dev/) are available for both samples, with all dependencies required to complete this article. You can run the dev containers in GitHub Codespaces (in a browser) or locally using Visual Studio Code.
-
-#### [Codespaces (recommended)](#tab/github-codespaces)
-
-* You only need a [GitHub account](https://www.github.com/login) to use Codespaces.
-
-#### [Visual Studio Code](#tab/visual-studio-code)
-
-* [Docker Desktop](https://www.docker.com/products/docker-desktop/) - Start Docker Desktop if it's not already running
-* [Visual Studio Code](https://code.visualstudio.com/)
-* [Dev Container Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
-
----
-
-[!INCLUDE [scaling-load-balancer-aca-procedure.md](~/azure-dev-docs/articles/ai/includes//scaling-load-balancer-procedure-azure-container-apps.md)]
-
-[!INCLUDE [redeployment-procedure](~/azure-dev-docs/articles/ai/includes//redeploy-procedure-chat.md)]
-
-[!INCLUDE [logs](~/azure-dev-docs/articles/ai/includes//scaling-load-balancer-logs-azure-container-apps.md)]
-
-[!INCLUDE [capacity.md](~/azure-dev-docs/articles/ai/includes//scaling-load-balancer-capacity.md)]
-
-[!INCLUDE [aca-cleanup](~/azure-dev-docs/articles/ai/includes//scaling-load-balancer-cleanup-azure-container-apps.md)]
-
-## Sample code
-
-Samples used in this article include:
-
-* [.NET chat app with RAG](https://github.com/Azure-Samples/azure-search-openai-demo-csharp)
-* [Load Balancer with Azure Container Apps](https://github.com/Azure-Samples/openai-aca-lb)
-
-## Next step
-
-* Use [Azure Load Testing](/azure/load-testing/) to load test your chat app
diff --git a/docs/ai/how-to/snippets/handle-invalid-tool-input/csharp/HandleInvalidToolInput.csproj b/docs/ai/how-to/snippets/handle-invalid-tool-input/csharp/HandleInvalidToolInput.csproj
index 9af05c3d880d9..9cc03596550af 100644
--- a/docs/ai/how-to/snippets/handle-invalid-tool-input/csharp/HandleInvalidToolInput.csproj
+++ b/docs/ai/how-to/snippets/handle-invalid-tool-input/csharp/HandleInvalidToolInput.csproj
@@ -8,10 +8,10 @@
-
-
-
-
+
+
+
+
diff --git a/docs/ai/index.yml b/docs/ai/index.yml
index 4670e2c37b67e..a4caa39ce6f17 100644
--- a/docs/ai/index.yml
+++ b/docs/ai/index.yml
@@ -87,8 +87,6 @@ landingContent:
linkLists:
- linkListType: tutorial
links:
- - text: Scale Azure OpenAI with Azure Container Apps
- url: get-started-app-chat-scaling-with-azure-container-apps.md
- text: .NET enterprise chat sample using RAG
url: get-started-app-chat-template.md
- text: Implement RAG using vector search
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 5be95331ffd22..1e86c72a112be 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,7 +7,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ConsumeClientMiddleware/ConsoleAI.ConsumeClientMiddleware.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ConsumeClientMiddleware/ConsoleAI.ConsumeClientMiddleware.csproj
index f34bd2477189f..9a18a16aaf7eb 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ConsumeClientMiddleware/ConsoleAI.ConsumeClientMiddleware.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ConsumeClientMiddleware/ConsoleAI.ConsumeClientMiddleware.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CustomClientMiddle/ConsoleAI.CustomClientMiddle.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CustomClientMiddle/ConsoleAI.CustomClientMiddle.csproj
index 96527fac2b0f6..f243b556a5664 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CustomClientMiddle/ConsoleAI.CustomClientMiddle.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CustomClientMiddle/ConsoleAI.CustomClientMiddle.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.FunctionalityPipelines/ConsoleAI.FunctionalityPipelines.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.FunctionalityPipelines/ConsoleAI.FunctionalityPipelines.csproj
index 3fbc24f690921..2f33127f6a10a 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.FunctionalityPipelines/ConsoleAI.FunctionalityPipelines.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.FunctionalityPipelines/ConsoleAI.FunctionalityPipelines.csproj
@@ -8,9 +8,9 @@
-
-
-
+
+
+
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 db7ac97ed3f5c..454491e219dee 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,7 +8,7 @@
-
+
diff --git a/docs/ai/snippets/prompt-engineering/multi-turn-chat.csproj b/docs/ai/snippets/prompt-engineering/multi-turn-chat.csproj
index e56db72962f4b..12c63cab5bfaf 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 @@
-
+
-
-
+
+
-
-
-
+
+
+
diff --git a/docs/core/enrichment/snippets/enrichment/Enrichment.csproj b/docs/core/enrichment/snippets/enrichment/Enrichment.csproj
index a921ef23693fc..c70733ef6ea9c 100644
--- a/docs/core/enrichment/snippets/enrichment/Enrichment.csproj
+++ b/docs/core/enrichment/snippets/enrichment/Enrichment.csproj
@@ -8,10 +8,10 @@
-
-
-
-
+
+
+
+
diff --git a/docs/core/extensions/caching.md b/docs/core/extensions/caching.md
index b44ec09ca4759..0c87288dc6735 100644
--- a/docs/core/extensions/caching.md
+++ b/docs/core/extensions/caching.md
@@ -1,7 +1,7 @@
---
title: Caching in .NET
description: Discover effective ways to implement in-memory and distributed caching in .NET. Boost app performance and scalability with .NET caching.
-ms.date: 10/22/2025
+ms.date: 07/28/2026
ai-usage: ai-assisted
---
@@ -253,7 +253,7 @@ The library combines the
`HybridCache` offers several advantages over using `IMemoryCache` and `IDistributedCache` separately:
- **Two-level caching**: Automatically manages both in-memory (L1) and distributed (L2) cache layers. Data is retrieved from in-memory cache first for speed, then from distributed cache if needed, and finally from the source.
-- **Stampede protection**: Prevents multiple concurrent requests from executing the same expensive operation. Only one request fetches the data while others wait for the result.
+- **Stampede protection**: Prevents multiple concurrent requests that use the same `HybridCache` instance from executing the same expensive operation. Only one request fetches the data while others wait for the result. This coordination doesn't extend to other `HybridCache` instances, even if they use the same distributed cache.
- **Configurable serialization**: Supports multiple serialization formats including JSON (default), protobuf, and XML.
- **Tag-based invalidation**: Groups related cache entries with tags for efficient batch invalidation.
- **Simplified API**: The `GetOrCreateAsync` method handles cache misses, serialization, and storage automatically.
diff --git a/docs/core/extensions/dependency-injection/snippets/basics/di-basics.csproj b/docs/core/extensions/dependency-injection/snippets/basics/di-basics.csproj
index 1c7fa5786be25..90a078641a92f 100644
--- a/docs/core/extensions/dependency-injection/snippets/basics/di-basics.csproj
+++ b/docs/core/extensions/dependency-injection/snippets/basics/di-basics.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/core/extensions/dependency-injection/snippets/console/console-di.csproj b/docs/core/extensions/dependency-injection/snippets/console/console-di.csproj
index 95db851be3e58..5e326936e111a 100644
--- a/docs/core/extensions/dependency-injection/snippets/console/console-di.csproj
+++ b/docs/core/extensions/dependency-injection/snippets/console/console-di.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/docs/core/extensions/snippets/async-state/csharp/AspNetCoreIntegration/AspNetCoreIntegration.csproj b/docs/core/extensions/snippets/async-state/csharp/AspNetCoreIntegration/AspNetCoreIntegration.csproj
index f52ac0d633aab..9638bdf09798a 100644
--- a/docs/core/extensions/snippets/async-state/csharp/AspNetCoreIntegration/AspNetCoreIntegration.csproj
+++ b/docs/core/extensions/snippets/async-state/csharp/AspNetCoreIntegration/AspNetCoreIntegration.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/docs/core/extensions/snippets/configuration/binding-scenarios/DictionaryBinding/DictionaryBinding.csproj b/docs/core/extensions/snippets/configuration/binding-scenarios/DictionaryBinding/DictionaryBinding.csproj
index 4b4efdfa3d435..58b4b914be8a5 100644
--- a/docs/core/extensions/snippets/configuration/binding-scenarios/DictionaryBinding/DictionaryBinding.csproj
+++ b/docs/core/extensions/snippets/configuration/binding-scenarios/DictionaryBinding/DictionaryBinding.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/docs/core/extensions/snippets/http/latency/latency.csproj b/docs/core/extensions/snippets/http/latency/latency.csproj
index b9e6ad8472b6d..033ee0e7dd9bf 100644
--- a/docs/core/extensions/snippets/http/latency/latency.csproj
+++ b/docs/core/extensions/snippets/http/latency/latency.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/docs/core/extensions/snippets/logging/getting-started-logger-message/getting-started-logger-message.csproj b/docs/core/extensions/snippets/logging/getting-started-logger-message/getting-started-logger-message.csproj
index dc0acb6fd64ff..41fd46eb02dc2 100644
--- a/docs/core/extensions/snippets/logging/getting-started-logger-message/getting-started-logger-message.csproj
+++ b/docs/core/extensions/snippets/logging/getting-started-logger-message/getting-started-logger-message.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/docs/core/extensions/snippets/logging/getting-started-open-telemetry/getting-started-open-telemetry.csproj b/docs/core/extensions/snippets/logging/getting-started-open-telemetry/getting-started-open-telemetry.csproj
index 5f96dbb4cff16..e1d954ec889c1 100644
--- a/docs/core/extensions/snippets/logging/getting-started-open-telemetry/getting-started-open-telemetry.csproj
+++ b/docs/core/extensions/snippets/logging/getting-started-open-telemetry/getting-started-open-telemetry.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/docs/core/project-sdk/msbuild-props.md b/docs/core/project-sdk/msbuild-props.md
index d2e12722363e9..a77b6db6ce676 100644
--- a/docs/core/project-sdk/msbuild-props.md
+++ b/docs/core/project-sdk/msbuild-props.md
@@ -1163,7 +1163,7 @@ The `CodeAnalysisTreatWarningsAsErrors` property lets you configure whether code
### EnforceCodeStyleInBuild
[.NET code style analysis](../../fundamentals/code-analysis/overview.md#code-style-analysis) is disabled, by default, on build for all .NET projects. You can enable code style analysis for .NET projects by setting the `EnforceCodeStyleInBuild` property to `true`.
-(But for performance reasons, a handful of code-style rules that apply only in the Visual Studio IDE won't be run.)
+(But for performance reasons, a [handful of code-style rules](https://github.com/dotnet/roslyn/blob/7c69ea6a9a16bd8ded79ce0d7c0256d59736d486/src/Analyzers/Core/Analyzers/EnforceOnBuildValues.cs#L140) that apply only in the Visual Studio IDE won't be run.)
```xml
diff --git a/docs/core/testing/snippets/unit-testing-using-mstest/csharp/PrimeService.Tests/PrimeService.Tests.csproj b/docs/core/testing/snippets/unit-testing-using-mstest/csharp/PrimeService.Tests/PrimeService.Tests.csproj
index 14baae62d0c5e..235a0014e834b 100644
--- a/docs/core/testing/snippets/unit-testing-using-mstest/csharp/PrimeService.Tests/PrimeService.Tests.csproj
+++ b/docs/core/testing/snippets/unit-testing-using-mstest/csharp/PrimeService.Tests/PrimeService.Tests.csproj
@@ -7,9 +7,9 @@
-
-
-
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/docs/core/tools/dotnet-environment-variables.md b/docs/core/tools/dotnet-environment-variables.md
index 141dcafcef2c3..3abd2791da0c0 100644
--- a/docs/core/tools/dotnet-environment-variables.md
+++ b/docs/core/tools/dotnet-environment-variables.md
@@ -217,7 +217,6 @@ This section describes the following environment variables:
- [`DOTNET_SKIP_WORKLOAD_INTEGRITY_CHECK`](#dotnet_skip_workload_integrity_check)
- [`DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT`](#dotnet_tools_allow_manifest_in_root)
- [`DOTNET_HOST_TRACE`](#dotnet_host_trace)
-- [`COREHOST_TRACE`](#corehost_trace)
- [`SuppressNETCoreSdkPreviewMessage`](#suppressnetcoresdkpreviewmessage)
- [Configure MSBuild in the .NET CLI](#configure-msbuild-in-the-net-cli)
- [`DOTNET_NEW_PREFERRED_LANG`](#dotnet_new_preferred_lang)
@@ -335,7 +334,7 @@ Set this variable to control the fast path explicitly:
- To disable it and route every invocation to the managed CLI, set the variable to `false`, `0`, `no`, or `off`.
> [!NOTE]
-> Starting in .NET 11 Preview 7, this fast path is enabled by default (`true`) on Windows. On macOS and Linux it's disabled by default because of a command-line parsing issue ([dotnet/command-line-api#2812](https://github.com/dotnet/command-line-api/issues/2812)): when the native CLI is loaded as a NativeAOT shared library, `Environment.GetCommandLineArgs()` returns an empty array on those platforms, which causes command-line parsing to throw. It will be enabled by default on macOS and Linux once that issue is resolved. In the meantime, you can opt in early on those platforms by setting the variable to a value that enables it.
+> Starting in .NET 11 Preview 7, this fast path is enabled by default (`true`) on all platforms. To disable it, set the variable to `false`, `0`, `no`, or `off`.
### `DOTNET_GENERATE_ASPNET_CERTIFICATE`
@@ -447,10 +446,11 @@ Specifies whether .NET SDK local tools search for tool manifest files in the roo
### `DOTNET_HOST_TRACE`
-**This variable applies to .NET 10 and later versions.** For older versions, replace the `DOTNET_HOST_` prefix with [`COREHOST_`](#corehost_trace).
-
Controls diagnostics tracing from the hosting components, such as `dotnet.exe`, `hostfxr`, and `hostpolicy`.
+> [!NOTE]
+> Prior to .NET 10, the `COREHOST_` prefix was used instead of `DOTNET_HOST_` (for example, `COREHOST_TRACE`). The functionality and values remain identical.
+
- `DOTNET_HOST_TRACE=[0/1]` - default is `0` - tracing disabled. If set to `1`, diagnostics tracing is enabled.
- `DOTNET_HOST_TRACEFILE=` - has an effect only if tracing is enabled by setting `DOTNET_HOST_TRACE=1`. When set, the tracing information is written to the specified file; otherwise, the trace information is written to `stderr`.
- `DOTNET_HOST_TRACE_VERBOSITY=[1/2/3/4]` - default is `4`. The setting is used only when tracing is enabled via `DOTNET_HOST_TRACE=1`.
@@ -462,17 +462,6 @@ Controls diagnostics tracing from the hosting components, such as `dotnet.exe`,
The typical way to get detailed trace information about application startup is to set `DOTNET_HOST_TRACE=1` and `DOTNET_HOST_TRACEFILE=host_trace.txt` and then run the application. A new file `host_trace.txt` will be created in the current directory with the detailed information.
-### `COREHOST_TRACE`
-
-Controls diagnostics tracing from the hosting components, such as `dotnet.exe`, `hostfxr`, and `hostpolicy`.
-
-> [!NOTE]
-> Starting with .NET 10, use the [`DOTNET_HOST_TRACE`](#dotnet_host_trace) environment variables instead. The `COREHOST_TRACE` variables work the same as `DOTNET_HOST_TRACE` variables.
-
-- `COREHOST_TRACE` - see [`DOTNET_HOST_TRACE`](#dotnet_host_trace).
-- `COREHOST_TRACEFILE` - see [`DOTNET_HOST_TRACEFILE`](#dotnet_host_trace).
-- `COREHOST_TRACE_VERBOSITY` - see [`DOTNET_HOST_TRACE_VERBOSITY`](#dotnet_host_trace).
-
### `SuppressNETCoreSdkPreviewMessage`
If set to `true`, invoking `dotnet` won't produce a warning when a preview SDK is being used.
diff --git a/docs/csharp/language-reference/compiler-messages/property-declaration-errors.md b/docs/csharp/language-reference/compiler-messages/property-declaration-errors.md
index e7437efc66830..58c80a55adc30 100644
--- a/docs/csharp/language-reference/compiler-messages/property-declaration-errors.md
+++ b/docs/csharp/language-reference/compiler-messages/property-declaration-errors.md
@@ -234,7 +234,7 @@ These errors enforce the rules for overriding properties in derived classes. For
- Ensure the member you're overriding is a property, not a field or method (**CS0544**). The `override` keyword on a property can only target a `virtual`, `abstract`, or `override` property in a base class. To shadow a non-property member with a property, use the `new` keyword instead of `override`.
- Override only the accessors that exist in the base class property declaration (**CS0545**, **CS0546**). You can't override a property accessor that isn't present or accessible in the base class because there's no virtual method to override. If the base class property has only a `get` accessor, you can't add a `set` accessor through an override. Either add the missing accessor to the base class and mark it `virtual`, or use `new` to hide the base class property with a new property definition.
- Match the type of the overriding property to the type of the overridden member (**CS1715**). Read-only (`get`-only) properties support covariant return types beginning with C# 9, so the override can return a more derived type. However, properties that have a `set` or `init` accessor require an exact type match because the setter accepts values of the declared type. If you need a different type on a property with a setter, change the property type in the derived class to match the base class declaration, or remove the setter and use a covariant return type instead.
-- Include all accessors from the base property when overriding with an auto-implemented property (**CS8080**). Auto-implemented properties generate both storage and accessor implementations, so they must override all accessors present in the base class. If the base property has both `get` and `set`, the auto-implemented override must also have both. To override only specific accessors, implement the property with explicit accessor bodies and an explicit backing field instead of using auto-implementation.
+- Include all accessors from the base property when overriding with an auto-implemented property (**CS8080**). Auto-implemented properties generate both storage and accessor implementations, so they must override all accessors present in the base class. If the base property has both `get` and `set`, the auto-implemented override must also have both. To override only specific accessors, implement the property with explicit accessor bodies and an explicit backing field instead of using auto-implementation. If the base class property has a `private` accessor, you can't override the property with an auto-implemented property. Use explicit accessor bodies instead.
For more information, see [Inheritance](../../fundamentals/object-oriented/inheritance.md), [Properties](../../programming-guide/classes-and-structs/properties.md), and [Using Properties](../../programming-guide/classes-and-structs/using-properties.md).
diff --git a/docs/fundamentals/code-analysis/quality-rules/ca5362.md b/docs/fundamentals/code-analysis/quality-rules/ca5362.md
index ca2f4d3fe40d6..89291fb3d53bc 100644
--- a/docs/fundamentals/code-analysis/quality-rules/ca5362.md
+++ b/docs/fundamentals/code-analysis/quality-rules/ca5362.md
@@ -1,7 +1,7 @@
---
title: "CA5362: Potential reference cycle in deserialized object graph (code analysis)"
description: Provides information about code analysis rule CA5362, including causes, how to fix violations, and when to suppress it.
-ms.date: 05/15/2020
+ms.date: 07/29/2026
author: LLLXXXCCC
ms.author: linche
f1_keywords:
@@ -16,12 +16,12 @@ f1_keywords:
| **Title** | Potential reference cycle in deserialized object graph |
| **Category** | [Security](security-warnings.md) |
| **Fix is breaking or non-breaking** | Non-breaking |
-| **Enabled by default in .NET 10** | No |
-| **Applicable languages** | C# and Visual Basic |
+| **Enabled by default in .NET 10** | No |
+| **Applicable languages** | C# and Visual Basic |
## Cause
-A class marked with the has a field or property may refer to the containing object directly or indirectly, allowing for a potential reference cycle.
+A class marked with the has a field or property that might refer to the containing object directly or indirectly, allowing for a potential reference cycle.
## Rule description
@@ -66,23 +66,27 @@ For more information, see [How to suppress code analysis warnings](../suppress-w
```csharp
using System;
-[Serializable()]
-class ExampleClass
+namespace ca5362
{
- public ExampleClass ExampleProperty {get; set;}
+ [Serializable]
+ class ExampleClass
+ {
+ public ExampleClass ExampleField;
- public int NormalProperty {get; set;}
-}
+ public int NormalProperty { get; set; }
+ }
-class AnotherClass
-{
- // The argument passed by could be `JsonConvert.DeserializeObject(untrustedData)`.
- public void AnotherMethod(ExampleClass ec)
+ class AnotherClass
{
- while(ec != null)
+ // The argument passed in could be
+ // `JsonConvert.DeserializeObject(untrustedData)`.
+ public void AnotherMethod(ExampleClass ec)
{
- Console.WriteLine(ec.ToString());
- ec = ec.ExampleProperty;
+ while (ec != null)
+ {
+ Console.WriteLine(ec.ToString());
+ ec = ec.ExampleField;
+ }
}
}
}
@@ -90,28 +94,4 @@ class AnotherClass
### Solution
-```csharp
-using System;
-
-[Serializable()]
-class ExampleClass
-{
- [NonSerialized]
- public ExampleClass ExampleProperty {get; set;}
-
- public int NormalProperty {get; set;}
-}
-
-class AnotherClass
-{
- // The argument passed by could be `JsonConvert.DeserializeObject(untrustedData)`.
- public void AnotherMethod(ExampleClass ec)
- {
- while(ec != null)
- {
- Console.WriteLine(ec.ToString());
- ec = ec.ExampleProperty;
- }
- }
-}
-```
+:::code language="csharp" source="snippets/csharp/all-rules/ca5362.cs" id="Snippet1":::
diff --git a/docs/fundamentals/code-analysis/quality-rules/snippets/csharp/all-rules/ca5362.cs b/docs/fundamentals/code-analysis/quality-rules/snippets/csharp/all-rules/ca5362.cs
new file mode 100644
index 0000000000000..9efe0955e2c12
--- /dev/null
+++ b/docs/fundamentals/code-analysis/quality-rules/snippets/csharp/all-rules/ca5362.cs
@@ -0,0 +1,25 @@
+using System;
+
+//
+[Serializable]
+class ExampleClass
+{
+ [NonSerialized]
+ public ExampleClass ExampleField;
+
+ public int NormalProperty { get; set; }
+}
+
+class AnotherClass
+{
+ // The argument passed by could be `JsonConvert.DeserializeObject(untrustedData)`.
+ public void AnotherMethod(ExampleClass ec)
+ {
+ while (ec != null)
+ {
+ Console.WriteLine(ec.ToString());
+ ec = ec.ExampleField;
+ }
+ }
+}
+//
diff --git a/docs/orleans/Directory.Build.props b/docs/orleans/Directory.Build.props
index 865f8f7ba2e58..1f6d6ed0b5d45 100644
--- a/docs/orleans/Directory.Build.props
+++ b/docs/orleans/Directory.Build.props
@@ -13,10 +13,10 @@
-
-
-
-
+
+
+
+
diff --git a/docs/orleans/grains/snippets/transactions/Abstractions/Abstractions.csproj b/docs/orleans/grains/snippets/transactions/Abstractions/Abstractions.csproj
index 3c05742f25128..d438604e3ed0f 100644
--- a/docs/orleans/grains/snippets/transactions/Abstractions/Abstractions.csproj
+++ b/docs/orleans/grains/snippets/transactions/Abstractions/Abstractions.csproj
@@ -1,11 +1,11 @@
-
+
-
-
-
+
+
+
diff --git a/docs/orleans/grains/snippets/transactions/Client/Client.csproj b/docs/orleans/grains/snippets/transactions/Client/Client.csproj
index fbabed005f77d..7330533ada94d 100644
--- a/docs/orleans/grains/snippets/transactions/Client/Client.csproj
+++ b/docs/orleans/grains/snippets/transactions/Client/Client.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/docs/orleans/grains/snippets/transactions/Server/Server.csproj b/docs/orleans/grains/snippets/transactions/Server/Server.csproj
index 4e42b3da393f8..2a5c055e41325 100644
--- a/docs/orleans/grains/snippets/transactions/Server/Server.csproj
+++ b/docs/orleans/grains/snippets/transactions/Server/Server.csproj
@@ -5,10 +5,10 @@
-
+
-
-
+
+
diff --git a/docs/orleans/host/configuration-guide/adonet-configuration.md b/docs/orleans/host/configuration-guide/adonet-configuration.md
index fd59f168e4f91..d0ac1db87b089 100644
--- a/docs/orleans/host/configuration-guide/adonet-configuration.md
+++ b/docs/orleans/host/configuration-guide/adonet-configuration.md
@@ -9,6 +9,12 @@ ms.topic: how-to
The following sections contain links to SQL scripts for configuring your database and the corresponding ADO.NET invariant used to configure ADO.NET providers in Orleans. Customize these scripts as needed for your deployment. Before executing scripts for Clustering, Persistence, or Reminders, you need to create the main tables using the Main scripts.
+If you are upgrading an existing ADO.NET schema, also apply the appropriate migration scripts for the providers you use:
+
+- [Clustering migrations](https://github.com/dotnet/orleans/tree/main/src/AdoNet/Orleans.Clustering.AdoNet/Migrations)
+- [Persistence migrations](https://github.com/dotnet/orleans/tree/main/src/AdoNet/Orleans.Persistence.AdoNet/Migrations)
+- [Reminders migrations](https://github.com/dotnet/orleans/tree/main/src/AdoNet/Orleans.Reminders.AdoNet/Migrations)
+
## Main scripts
| Database | Script | NuGet package| ADO.NET invariant |
diff --git a/docs/orleans/host/snippets/aspire/Client/Client.csproj b/docs/orleans/host/snippets/aspire/Client/Client.csproj
index 3ce46488bfc8e..2be5e5bc85dc5 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 76f55b3bedfb3..3a46347aefe7c 100644
--- a/docs/orleans/host/snippets/aspire/ServiceDefaults/ServiceDefaults.csproj
+++ b/docs/orleans/host/snippets/aspire/ServiceDefaults/ServiceDefaults.csproj
@@ -7,10 +7,10 @@
-
-
-
-
+
+
+
+
diff --git a/docs/orleans/host/snippets/aspire/Silo/Silo.csproj b/docs/orleans/host/snippets/aspire/Silo/Silo.csproj
index b9ad04a2dfefe..a9d1304b3565a 100644
--- a/docs/orleans/host/snippets/aspire/Silo/Silo.csproj
+++ b/docs/orleans/host/snippets/aspire/Silo/Silo.csproj
@@ -6,15 +6,15 @@
-
-
+
+
-
+
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 d4e2dd76dc0f7..4f1509f6ac317 100644
--- a/docs/orleans/streaming/snippets/broadcastchannel/BroadcastChannel.Silo/BroadcastChannel.Silo.csproj
+++ b/docs/orleans/streaming/snippets/broadcastchannel/BroadcastChannel.Silo/BroadcastChannel.Silo.csproj
@@ -6,10 +6,10 @@
-
-
-
-
+
+
+
+
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 4d386f0fb4a9f..d6e7f24a0fb9a 100644
--- a/docs/orleans/tutorials-and-samples/snippets/minimal/Client/Client.csproj
+++ b/docs/orleans/tutorials-and-samples/snippets/minimal/Client/Client.csproj
@@ -6,8 +6,8 @@
-
-
+
+
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 d0ae79ded1357..d8b601f5ffb2b 100644
--- a/docs/orleans/tutorials-and-samples/snippets/minimal/GrainInterfaces/GrainInterfaces.csproj
+++ b/docs/orleans/tutorials-and-samples/snippets/minimal/GrainInterfaces/GrainInterfaces.csproj
@@ -2,9 +2,9 @@
-
-
-
+
+
+
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 883fbe6f57f14..03f3b31c37355 100644
--- a/docs/orleans/tutorials-and-samples/snippets/minimal/Grains/Grains.csproj
+++ b/docs/orleans/tutorials-and-samples/snippets/minimal/Grains/Grains.csproj
@@ -1,8 +1,8 @@
-
-
+
+
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 b8f370b1c9b6f..d0940274c4d24 100644
--- a/docs/orleans/tutorials-and-samples/snippets/minimal/Silo/Silo.csproj
+++ b/docs/orleans/tutorials-and-samples/snippets/minimal/Silo/Silo.csproj
@@ -6,9 +6,9 @@
-
-
-
+
+
+
diff --git a/samples/snippets/csharp/roslyn-sdk/SyntaxQuickStart/HelloSyntaxTree/HelloSyntaxTree.csproj b/samples/snippets/csharp/roslyn-sdk/SyntaxQuickStart/HelloSyntaxTree/HelloSyntaxTree.csproj
index 0a7a98595fe35..ab522ed90b797 100644
--- a/samples/snippets/csharp/roslyn-sdk/SyntaxQuickStart/HelloSyntaxTree/HelloSyntaxTree.csproj
+++ b/samples/snippets/csharp/roslyn-sdk/SyntaxQuickStart/HelloSyntaxTree/HelloSyntaxTree.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/csharp/roslyn-sdk/SyntaxQuickStart/SyntaxWalker/SyntaxWalker.csproj b/samples/snippets/csharp/roslyn-sdk/SyntaxQuickStart/SyntaxWalker/SyntaxWalker.csproj
index 0a7a98595fe35..ab522ed90b797 100644
--- a/samples/snippets/csharp/roslyn-sdk/SyntaxQuickStart/SyntaxWalker/SyntaxWalker.csproj
+++ b/samples/snippets/csharp/roslyn-sdk/SyntaxQuickStart/SyntaxWalker/SyntaxWalker.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/AggregateFunctionSample/AggregateFunctionSample.csproj b/samples/snippets/standard/data/sqlite/AggregateFunctionSample/AggregateFunctionSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/AggregateFunctionSample/AggregateFunctionSample.csproj
+++ b/samples/snippets/standard/data/sqlite/AggregateFunctionSample/AggregateFunctionSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/AsyncSample/AsyncSample.csproj b/samples/snippets/standard/data/sqlite/AsyncSample/AsyncSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/AsyncSample/AsyncSample.csproj
+++ b/samples/snippets/standard/data/sqlite/AsyncSample/AsyncSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/BackupSample/BackupSample.csproj b/samples/snippets/standard/data/sqlite/BackupSample/BackupSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/BackupSample/BackupSample.csproj
+++ b/samples/snippets/standard/data/sqlite/BackupSample/BackupSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/BatchingSample/BatchingSample.csproj b/samples/snippets/standard/data/sqlite/BatchingSample/BatchingSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/BatchingSample/BatchingSample.csproj
+++ b/samples/snippets/standard/data/sqlite/BatchingSample/BatchingSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/BulkInsertSample/BulkInsertSample.csproj b/samples/snippets/standard/data/sqlite/BulkInsertSample/BulkInsertSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/BulkInsertSample/BulkInsertSample.csproj
+++ b/samples/snippets/standard/data/sqlite/BulkInsertSample/BulkInsertSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/CollationSample/CollationSample.csproj b/samples/snippets/standard/data/sqlite/CollationSample/CollationSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/CollationSample/CollationSample.csproj
+++ b/samples/snippets/standard/data/sqlite/CollationSample/CollationSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/DapperSample/DapperSample.csproj b/samples/snippets/standard/data/sqlite/DapperSample/DapperSample.csproj
index d60e2d20753ad..2d10c123e97fc 100644
--- a/samples/snippets/standard/data/sqlite/DapperSample/DapperSample.csproj
+++ b/samples/snippets/standard/data/sqlite/DapperSample/DapperSample.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj b/samples/snippets/standard/data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj
+++ b/samples/snippets/standard/data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/DeferredTransactionSample/DeferredTransactionSample.csproj b/samples/snippets/standard/data/sqlite/DeferredTransactionSample/DeferredTransactionSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/DeferredTransactionSample/DeferredTransactionSample.csproj
+++ b/samples/snippets/standard/data/sqlite/DeferredTransactionSample/DeferredTransactionSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/DirtyReadSample/DirtyReadSample.csproj b/samples/snippets/standard/data/sqlite/DirtyReadSample/DirtyReadSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/DirtyReadSample/DirtyReadSample.csproj
+++ b/samples/snippets/standard/data/sqlite/DirtyReadSample/DirtyReadSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/ExtensionsSample/ExtensionsSample.csproj b/samples/snippets/standard/data/sqlite/ExtensionsSample/ExtensionsSample.csproj
index 192296627b0f9..1815ca0d4f4c2 100644
--- a/samples/snippets/standard/data/sqlite/ExtensionsSample/ExtensionsSample.csproj
+++ b/samples/snippets/standard/data/sqlite/ExtensionsSample/ExtensionsSample.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/HelloWorldSample/HelloWorldSample.csproj b/samples/snippets/standard/data/sqlite/HelloWorldSample/HelloWorldSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/HelloWorldSample/HelloWorldSample.csproj
+++ b/samples/snippets/standard/data/sqlite/HelloWorldSample/HelloWorldSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/InteropSample/InteropSample.csproj b/samples/snippets/standard/data/sqlite/InteropSample/InteropSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/InteropSample/InteropSample.csproj
+++ b/samples/snippets/standard/data/sqlite/InteropSample/InteropSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/RegularExpressionSample/RegularExpressionSample.csproj b/samples/snippets/standard/data/sqlite/RegularExpressionSample/RegularExpressionSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/RegularExpressionSample/RegularExpressionSample.csproj
+++ b/samples/snippets/standard/data/sqlite/RegularExpressionSample/RegularExpressionSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/ResultMetadataSample/ResultMetadataSample.csproj b/samples/snippets/standard/data/sqlite/ResultMetadataSample/ResultMetadataSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/ResultMetadataSample/ResultMetadataSample.csproj
+++ b/samples/snippets/standard/data/sqlite/ResultMetadataSample/ResultMetadataSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/SavepointSample/SavepointSample.csproj b/samples/snippets/standard/data/sqlite/SavepointSample/SavepointSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/SavepointSample/SavepointSample.csproj
+++ b/samples/snippets/standard/data/sqlite/SavepointSample/SavepointSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj b/samples/snippets/standard/data/sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj
index d1cc7c09833c2..003250f9d62e1 100644
--- a/samples/snippets/standard/data/sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj
+++ b/samples/snippets/standard/data/sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/SqliteProviderSample/SqliteProviderSample.csproj b/samples/snippets/standard/data/sqlite/SqliteProviderSample/SqliteProviderSample.csproj
index 02cf69613721f..d0c5a4bbd9050 100644
--- a/samples/snippets/standard/data/sqlite/SqliteProviderSample/SqliteProviderSample.csproj
+++ b/samples/snippets/standard/data/sqlite/SqliteProviderSample/SqliteProviderSample.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/samples/snippets/standard/data/sqlite/StreamingSample/StreamingSample.csproj b/samples/snippets/standard/data/sqlite/StreamingSample/StreamingSample.csproj
index 9cae31648a533..0b82891fb6a81 100644
--- a/samples/snippets/standard/data/sqlite/StreamingSample/StreamingSample.csproj
+++ b/samples/snippets/standard/data/sqlite/StreamingSample/StreamingSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/SystemLibrarySample/SystemLibrarySample.csproj b/samples/snippets/standard/data/sqlite/SystemLibrarySample/SystemLibrarySample.csproj
index 1e838c4e5d739..68ac3a4ecdde6 100644
--- a/samples/snippets/standard/data/sqlite/SystemLibrarySample/SystemLibrarySample.csproj
+++ b/samples/snippets/standard/data/sqlite/SystemLibrarySample/SystemLibrarySample.csproj
@@ -8,7 +8,7 @@
-
+