## 1. Project Overview & Quickstart (dotnet/testing)

# testing

Open-source repository dotnet/testing

### Repository Details
- **Repository:** [dotnet/testing](https://github.com/dotnet/testing)
- **Primary Language:** Code

*Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.*

## 2. Official Technical Reference & Guides (dotnet/docs)

## File: README.md

# .NET Docs

[](https://GitHub.com/dotnet/docs/graphs/contributors/)
[](https://github.com/dotnet/docs)
[](https://GitHub.com/dotnet/docs/issues?q=is%3Aissue+is%3Aopened)
[](https://GitHub.com/dotnet/docs/issues?q=is%3Aissue+is%3Aclosed)
[](https://GitHub.com/dotnet/docs/pulls?q=is%3Aissue+is%3Aopened)
[](https://github.com/dotnet/docs/pulls?q=is%3Apr+is%3Aclosed+is%3Amerged)
[](https://github.com/dotnet/docs/pulls?q=is%3Apr+is%3Aclosed+is%3Aunmerged)
[](https://www.bestpractices.dev/projects/9215)

This repository contains the conceptual documentation for .NET. The [.NET documentation site](https://learn.microsoft.com/dotnet) is built from multiple repositories:

- [.NET docs](https://github.com/dotnet/docs)
- [ASP.NET Core docs](https://github.com/dotnet/AspNetCore.Docs)
- [.NET Desktop workloads docs](https://github.com/dotnet/docs-desktop)
- [.NET MAUI docs](https://github.com/dotnet/docs-maui)
- [Entity Framework docs](https://github.com/dotnet/EntityFramework.Docs)
- [Community toolkit](https://github.com/MicrosoftDocs/communitytoolkit)

API reference documentation is published from the following repositories:

- [.NET API reference](https://github.com/dotnet/dotnet-api-docs)
- [.NET MAUI API reference](https://github.com/dotnet/maui-api-docs)
- [Android API reference](https://github.com/dotnet/android-api-docs)
- [Entity Framework 6/Core API reference](https://github.com/dotnet/EntityFramework.ApiDocs)
- [Roslyn API reference](https://github.com/dotnet/roslyn-api-docs)
- [Community toolkit API reference](https://github.com/MicrosoftDocs/community-toolkit-api-ref-dotnet)

These API reference doc repositories are public. Only some accept issues and pull requests. Others are pass-through repositories because API reference is generated directly from the `///` in the product source. Some folders in `dotnet-api-docs` use the product repository as the source of truth.

The C# language specification documentation comes from the following two repositories:

- [C# language design](https://github.com/dotnet/csharplang)
- [C# specification - draft](https://github.com/dotnet/csharpstandard)

Our team's tasks are tracked in our [project boards](https://github.com/dotnet/docs/projects?query=is%3Aopen). You'll see monthly sprint projects, along with long-running projects for major documentation updates. The projects contain documentation issues across the repositories that build .NET docs. Issues are tracked in the relevant repositories. We have a large community using these resources. We make our best effort to respond to issues in a timely fashion. To create a new issue, click the "Open a documentation issue" button at the bottom of any of our published docs, or [choose one of the available templates](https://github.com/dotnet/docs/issues/new/choose). The control at the bottom of each article automatically routes you to the correct repo and fills in some relevant information based on the article.

## :purple_heart: Contribute

We welcome contributions to help us improve and complete the .NET docs. This is a very large repo, covering a large area. If this is your first visit, see the [Contributor guide](https://learn.microsoft.com/contribute/content/dotnet/dotnet-contribute) for information on working with us. Look for issues labeled [`help wanted` :label:](https://github.com/dotnet/docs/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22+) for ideas to get started.

Before submitting a PR with 3rd party dependencies, see our policy on [3rd party dependencies](admin/3rdPartyDependencies.md).

We work to merge or close PRs in a timely fashion. We regularly review and approve PRs. We encourage contributors to respond to comments in a similar timely fashion. Many times, reviews identify small changes such as spelling or grammar issues, or word choice. Maintainers can accept those suggestions and merge the PR. In other situations, maintainers ask for more significant changes before a PR is ready to merge. We expect contributors to make those changes. Maintainers will help by answering questions or pointing to other resources, if needed.

We consider PRs to be abandoned when they've had no activity (either commits or discussion) in the past 30 days. Team members will close PRs that have been abandoned. Contributors can reopen and continue to work.

## :bookmark_tabs: Code of conduct

This project has adopted the code of conduct defined by the Contributor Covenant
to clarify expected behavior in our community. For more information, see the [.NET Foundation: Code of Conduct](https://dotnetfoundation.org/code-of-conduct).

## :octocat: GitHub Action workflows

- [](https://github.com/dotnet/docs/actions/workflows/live-protection.yml): Adds a comment to PRs that were not automated, but rather manually created that target the `live` branch.
- [](https://github.com/dotnet/docs/actions/workflows/dependabot-approve-and-automerge.yml):  Automatically approves and auto-merges PRs originating from the `dependabbot[bot]`.
- [](https://github.com/dotnet/docs/actions/workflows/whats-new.yml):  Creates a PR to generate the "What's new" article on the first of every month.
- [](https://github.com/dotnet/docs/actions/workflows/markdownlint.yml):  The current status for the entire repositories Markdown linter status.
- [](https://github.com/dotnet/docs/actions/workflows/docs-verifier.yml):  Runs various Markdown verifications, beyond the linter, such as ensuring links and redirects are valid.
- [](https://github.com/dotnet/docs/actions/workflows/check-for-build-warnings.yml):  Builds the site for the PR in context, and verifies the build reporting either, `success`, `warnings`, or `error`.
- [](https://github.com/dotnet/docs/actions/workflows/snippets5000.yml):  Custom .NET build validation, locates code impacted by a PR, and builds.
- [](https://github.com/dotnet/docs/actions/workflows/version-sweep.yml):  Runs monthly, creating issues on projects that target .NET versions that are out of support.
- [](https://github.com/dotnet/docs/actions/workflows/quest.yml): Automatically synchronizes issues with Quest (Azure DevOps).
- [](https://github.com/dotnet/docs/actions/workflows/quest-bulk.yml): Manual bulk import of issues into Quest (Azure DevOps).

---

## File: CODE_OF_CONDUCT.md

# Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant
to clarify expected behavior in our community.
For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct).

---

## File: CONTRIBUTING.md

# Contributing

Thank you for your interest in contributing to the .NET documentation!

We have moved our guidelines into a site-wide contribution guide. To see the guidance, visit the [Microsoft Docs contributor guide](https://learn.microsoft.com/contribute/dotnet/dotnet-contribute).

---

## File: cSpell.json

{
    "version": "0.2",
    "language": "en",
    "words": [
        "accessibilities",
        "accessmodifier",
        "Ackerman",
        "Ackerman's",
        "Activatable",
        "ADAL",
        "Addin",
        "addmodule",
        "Adleman",
        "ADLS",
        "adodb",
        "advapi",
        "affinitized",
        "Akka",
        "algorithmically",
        "aliasname",
        "alives",
        "AMPQ",
        "Angular's",
        "anonymized",
        "ansible",
        "antialiased",
        "antialiasing",
        "Antimalware",
        "anycpu",
        "apiref",
        "appcmd",
        "appdomain",
        "appliesto",
        "appx",
        "APTCA",
        "architecting",
        "Ardalis",
        "arglist",
        "argumentlist",
        "argumentname",
        "arraylist",
        "asax",
        "ASMX",
        "aspnet",
        "aspnetcore",
        "assemblyfilename",
        "assemblyidentity",
        "assemblyname",
        "assertuienabled",
        "assetid",
        "assistive",
        "Asynchronicity",
        "Asynchrony",
        "atlmfc",
        "attributelist",
        "attributename",
        "Authenticode",
        "autoconnect",
        "Autofac",
        "Autogenerate",
        "autogenerating",
        "Autonumber",
        "autoscale",
        "autoscaling",
        "azurewebsites",
        "backticks",
        "barebones",
        "baseclassname",
        "baseinterfacename",
        "baseprocedurename",
        "basetypename",
        "basetypenames",
        "Bézier",
        "Beziers",
        "BFILE",
        "Bing",
        "Birthdate",
        "Bitbucket",
        "Bitnami",
        "Blazor",
        "Bogard",
        "botsay",
        "boundlist",
        "Breiman",
        "Brotli",
        "BSTR",
        "buildproviders",
        "bypasslist",
        "bypassonlocal",
        "Cacheability",
        "callstacks",
        "callvirt",
        "Caml",
        "Canonicalizing",
        "Capitan",
        "Cassini",
        "certmgr",
        "cgroup",
        "chainee",
        "chainer",
        "Chainer's",
        "charactername",
        "charsetmodifier",
        "Checkmarks",
        "CIMTYPE",
        "classlib",
        "Cloudera",
        "CLSID",
        "CMMI",
        "cnabs",
        "CNCF",
        "coalescer",
        "cobertura",
        "coclass",
        "Coclasses",
        "codebases",
        "codebook",
        "codedom",
        "codepages",
        "COM's",
        "combinator",
        "combinators",
        "commandlets",
        "commentfile",
        "comparisonoperator",
        "componentize",
        "componenttypes",
        "composability",
        "composable",
        "conformant",
        "consolecolors",
        "constantlist",
        "constantname",
        "constructedbasetypename",
        "constructorname",
        "containername",
        "containertype",
        "containertypename",
        "contextname",
        "contoso",
        "Contoso's",
        "contravariance",
        "contravariant",
        "convolutional",
        "CORDB",
        "coreclr",
        "corefx",
        "corerun",
        "Cortana's",
        "COSMOSDB",
        "couchbase",
        "counterintuitive",
        "covariant",
        "CQRS",
        "creditcard",
        "Cristian",
        "crossoptimize",
        "cscript",
        "CSDL",
        "csref",
        "cust",
        "customizations",
        "custs",
        "Cwalina",
        "Dahan",
        "DASM",
        "databinding",
        "databound",
        "Databricks",
        "datacenters",
        "dataflows",
        "Dataframe",
        "datagrid",
        "datamemberdeclarations",
        "dataview",
        "datetimeoffset",
        "DBFS",
        "dbml",
        "DCOM",
        "debugee",
        "debugee's",
        "Debuggable",
        "debuggee",
        "debugger's",
        "declarationspace",
        "decommit",
        "decommits",
        "decommitted",
        "decompiled",
        "decryptor",
        "Deduplicating",
        "deduplication",
        "defaultpropertyname",
        "definedname",
        "Deformatter",
        "delaysign",
        "delegatename",
        "delegatesignature",
        "delegatetype",
        "delisted",
        "Demultiplexed",
        "deployable",
        "deployer",
        "deploymnet",
        "derivational",
        "derivedclassname",
        "derivedinterfacename",
        "derivedname",
        "derivedtypename",
        "Deserialize",
        "deserialized",
        "deserializer",
        "deserializers",
        "deserializes",
        "deserializing",
        "designable",
        "DESX",
        "determinantoperator",
        "deterministically",
        "devenv",
        "Devs",
        "DGML",
        "DHTML",
        "diasymreader",
        "digitizer",
        "dimensioned",
        "dimensionnumber",
        "disambiguated",
        "disambiguates",
        "Disassembler",
        "discoverability",
        "disjunction",
        "distro",
        "DLL's",
        "dlopen",
        "dlsym",
        "DNVM",
        "dnxcore",
        "dockable",
        "Docker's",
        "Dockerfiles",
        "dockerignore",
        "Dockerization",
        "Dockerize",
        "Dockerized",
        "docx",
        "dotnetbot",
        "dotnetcli",
        "dotnetfoundation",
        "dotnetsay",
        "downbutton",
        "DPAPI",
        "DTOs",
        "dylib",
        "earlierversionnumber",
        "ECDSA",
        "ecommerce",
        "edmgen",
        "edmx",
        "elementname",
        "elementpath",
        "Elgin",
        "elseifcondition",
        "elseifstatements",
        "elsestatements",
        "embeddings",
        "emptyconstant",
        "encoding's",
        "encryptor",
        "enforcements",
        "entitized",
        "ENTRYPOINT",
        "enumerables",
        "enumname",
        "equijoin",
        "equijoins",
        "errormessage",
        "errornumber",
        "errorreport",
        "eventhandler",
        "eventname",
        "eventspecifier",
        "eventvariable",
        "eventvwr",
        "evolvability",
        "evolvable",
        "executables",
        "Expando",
        "explainability",
        "extensionmethodname",
        "Fabrikam",
        "Fadi",
        "failovers",
        "failwith",
        "failwithf",
        "Fakhouri",
        "featurization",
        "Featurize",
        "featurized",
        "Featurizer",
        "featurizers",
        "featurizes",
        "Featurizing",
        "Feng",
        "filealign",
        "filemappingsize",
        "filepathname",
        "filestream",
        "Finalizeable",
        "Finalizers",
        "findtype",
        "Focusable",
        "fullnamespacename",
        "fullpaths",
        "functionname",
        "Gacutil",
        "gamers",
        "Gartner",
        "gcnew",
        "GDPR",
        "genericproceduresignature",
        "generictypename",
        "geolocation",
        "gitignore",
        "Gitter",
        "granularized",
        "Gridline",
        "GROUPBY",
        "Guidgen",
        "Hackathon",
        "Hadoop",
        "Hanselman",
        "Hanying",
        "hardcoding",
        "HATEOAS",
        "HDFS",
        "Headered",
        "helpviewer",
        "highentropyva",
        "Hijri",
        "HINSTANCE",
        "HKCU",
        "HKEY",
        "HKLM",
        "Holm",
        "hostfxr",
        "Hotfix",
        "HPROCESS",
        "HRESULT",
        "HRESULTS",
        "HSTRING",
        "HTHREAD",
        "HWND",
        "HWNDs",
        "hyperscale",
        "IASSEMBLYCACHE",
        "ICLR",
        "IDE's",
        "idempotence",
        "Idempotency",
        "Ildasm",
        "ILEXCEPTION",
        "implementedprocedure",
        "implementedproperty",
        "implementsclause",
        "implementslist",
        "implicitmembername",
        "impls",
        "importances",
        "indexnumber",
        "inetpub",
        "inetsrv",
        "inextensible",
        "Infographic",
        "Infoset",
        "initializable",
        "Inlinee",
        "inliners",
        "Inspectable",
        "Installutil",
        "Intelli",
        "Interactive's",
        "interfacemember",
        "interfacemembername",
        "interfacename",
        "interfacenames",
        "internaltypename",
        "interop",
        "interoperates",
        "interoperating",
        "Interoperation",
        "interservice",
        "Invokable",
        "Ionide",
        "ipconfig",
        "irresolvable",
        "ISDATE",
        "ISNUMERIC",
        "ISOF",
        "istio",
        "IUNKNOWN",
        "IXCLR",
        "JITed",
        "Jitted",
        "Jitting",
        "Jupyter",
        "kanban",
        "keycontainer",
        "keyspace",
        "kibana",
        "Kountry",
        "Krzysztof",
        "kube",
        "Kubectl",
        "kubelet",
        "Kubernetes",
        "kusto",
        "langversion",
        "Latebound",
        "laterversionnumber",
        "Latimer",
        "Lerman",
        "libcoreclr",
        "libicu",
        "libpath",
        "libuuid",
        "lifecycles",
        "lightup",
        "linelabel",
        "linkres",
        "linkresource",
        "LINQ",
        "Liskov",
        "Litware",
        "Litware’s",
        "localdb",
        "Localizable",
        "localizers",
        "Lockdown",
        "logicaloperator",
        "LPUTF",
        "LPWSTR",
        "lsetstmt",
        "lyft",
        "machinelearning",
        "macos",
        "Maira",
        "Makecert",
        "markdownlint",
        "Marshaler",
        "marshalers",
        "matchup",
        "mathfunction",
        "Maximizable",
        "MDAC",
        "MDAs",
        "memberlist",
        "Memberwise",
        "Mesos",
        "metabase",
        "metacharacters",
        "Metafile",
        "Metafiles",
        "metapackage",
        "metapackages",
        "methodmemberdeclarations",
        "methodname",
        "microservice",
        "microservice’s",
        "Microservices",
        "microsevices",
        "middlewares",
        "minikube",
        "Minimizable",
        "mitigations",
        "MITM",
        "mlcompatibility",
        "mlnet",
        "MMIO",
        "Mobius",
        "modifiername",
        "modularize",
        "moduleassemblyname",
        "modulename",
        "monoids",
        "Monospace",
        "monospaced",
        "Mortensen",
        "MSAA",
        "msbuild",
        "mscordacwks",
        "mscordbi",
        "mscoree",
        "mscoreei",
        "mscorlib",
        "mscorpe",
        "mscorpehost",
        "mscorsvr",
        "mscorwks",
        "MSDAORA",
        "msdata",
        "MSDTC",
        "MSIL",
        "MSIX",
        "Msmq",
        "MSRP",
        "mstest",
        "MSXML",
        "msxsl",
        "Mtom",
        "multiclass",
        "multicontainer",
        "Multicore",
        "multifile",
        "multinomial",
        "Multipane",
        "Multitarget",
        "multitenant",
        "multitiered",
        "multiuse",
        "musl",
        "muxer",
        "MVVM",
        "my",
        "MYAPPLICATIONTYPE",
        "mybook",
        "MYCOMPUTERTYPE",
        "myfile",
        "MYFORMS",
        "myname",
        "MYTYPE",
        "MYUSERTYPE",
        "MYWEBSERVICES",
        "Namescope",
        "namescopes",
        "namespacename",
        "nametable",
        "nanoserver",
        "nativeint",
        "Naur",
        "navigations",
        "nchar",
        "Nego",
        "netcore",
        "netcoreapp",
        "NETFX",
        "netmodule",
        "NETSDK",
        "Netsh",
        "netstandard",
        "NEWID",
        "NEWSEQUENTIALID",
        "Newtonsoft",
        "NGEN",
        "ngen'd",
        "Nginx",
        "Ngram",
        "ngrams",
        "Niladic",
        "Ninject",
        "noconfig",
        "NOCOUNT",
        "noframework",
        "NOINTERFACE",
        "nologo",
        "nonabstract",
        "nonalphanumeric",
        "nonassociative",
        "noncapturing",
        "noncommutative",
        "noncompliant",
        "noncustom",
        "nondeclarative",
        "Nondeterministic",
        "nondeterministically",
        "nongeneric",
        "Nonintegral",
        "Nonmodifiable",
        "Nonnullable",
        "nonpartitioned",
        "nonsecure",
        "nonserializable",
        "nonshared",
        "nonsignaled",
        "NORECOMPUTE",
        "normalizers",
        "Northwind",
        "nosplash",
        "nosql",
        "nostdlib",
        "NOTOKEN",
        "nowin",
        "ntext",
        "nuget",
        "nullabilities",
        "nullconstant",
        "nunit",
        "nupkg",
        "nupkgs",
        "nvarchar",
        "objectexpression",
        "odata",
        "OFTYPE",
        "oledb",
        "OLTP",
        "Omelchenko",
        "Onnx",
        "OODBMS",
        "operandname",
        "operandtype",
        "operationalization",
        "Operationalize",
        "operatorname",
        "operatorsymbol",
        "optioncompare",
        "optionexplicit",
        "optioninfer",
        "optionstrict",
        "OPTOUT",
        "Orderable",
        "ORMs",
        "Osherove",
        "Osorio",
        "outputdir",
        "overloadability",
        "OWIN",
        "Paginator",
        "Paket",
        "palettized",
        "parallelizable",
        "parallelization",
        "parallelize",
        "parallelized",
        "parallelizes",
        "parallelizing",
        "parameterizations",
        "parameterize",
        "parameterizes",
        "parameterizing",
        "parameterlist",
        "parametername",
        "paramref",
        "partialtypename",
        "partitioner",
        "Partitioners",
        "PCLs",
        "pdbonly",
        "PDBs",
        "perceptron",
        "perfmon",
        "performant",
        "Persistable",
        "phablets",
        "PIAs",
        "Pinnable",
        "Pinvoke",
        "Plex",
        "PLINQ",
        "PLINQ's",
        "PNRP",
        "POCOs",
        "positionally",
        "postgres",
        "precompilation",
        "precompiles",
        "precompiling",
        "preconfigured",
        "preferreduilang",
        "Preinstallation",
        "prem",
        "preprocessors",
        "prerelease",
        "preserialize",
        "pretrained",
        "printfn",
        "proceduremodifiers",
        "procedurename",
        "proceduresignature",
        "Profilee",
        "profiler's",
        "profiler’s",
        "programfiles",
        "projectname",
        "propertyfield",
        "propertymodifiers",
        "propertyname",
        "protobuf",
        "proxyaddress",
        "PSPE",
        "publicsign",
        "punctuations",
        "qualifiedelementname",
        "qualifiedmethod",
        "Quaternion",
        "Queryable",
        "Quickstart",
        "quickstarts",
        "Qura",
        "QWORD",
        "randomizer",
        "rasterization",
        "Rasterize",
        "Rasterized",
        "RBAC",
        "RDBMS",
        "React's",
        "rearchitect",
        "rearchitecting",
        "rearchitecture",
        "rebased",
        "rebranded",
        "recognizers",
        "recompiles",
        "recordset",
        "Recurses",
        "redeclares",
        "Redeclaring",
        "redimension",
        "Redimensioning",
        "Redirections",
        "Redistributable",
        "refactorings",
        "reflectable",
        "refonly",
        "refout",
        "Regedit",
        "regiis",
        "regionname",
        "Regsvcs",
        "Regsvr",
        "rehost",
        "rehosted",
        "rehosting",
        "reimplement",
        "reimplementation",
        "reimplemented",
        "reimplements",
        "reinitialization",
        "reinitializing",
        "reinstantiates",
        "rejitted",
        "remotable",
        "remoted",
        "Remoting",
        "Reparenting",
        "reparse",
        "repo",
        "repos",
        "Requery",
        "resequenced",
        "Resgen",
        "Resizer",
        "respecified",
        "respecify",
        "Restier",
        "resx",
        "Retarget",
        "retargetable",
        "retargeted",
        "Retargeting",
        "retemplating",
        "retriable",
        "returntype",
        "returnvalue",
        "RHEL",
        "riak",
        "Rijndael",
        "roadmap",
        "rollouts",
        "rootnamespace",
        "Roundtrip",
        "rowversion",
        "RSAPKCS",
        "RSTR",
        "Ruleset",
        "runas",
        "runat",
        "runsettings",
        "runtime's",
        "runtimeconfig",
        "SAFEARRAY",
        "safeonly",
        "saml",
        "sandboxed",
        "Sandboxing",
        "SCCM",
        "schemaless",
        "Scrutor",
        "SDCA",
        "SDK's",
        "sdkpath",
        "securables",
        "seealso",
        "Seedwork",
        "seedworks",
        "Seemann",
        "segregators",
        "semisynchronous",
        "Serializer",
        "serializers",
        "serverless",
        "servicemodelsamples",
        "sessionful",
        "sessionless",
        "Sgen",
        "shadowcopyreferences",
        "Shamir",
        "Shfusion",
        "shortcircuitoperator",
        "signaturelist",
        "Silverlight",
        "simpleresolution",
        "singularizes",
        "Sitecore",
        "slas",
        "SLES",
        "smalldatetime",
        "smallint",
        "smallmoney",
        "snapline",
        "snupkg",
        "SOAs",
        "Southridge",
        "SPDX",
        "Splunk",
        "Spotify",
        "Sproc",
        "sprocs",
        "SQLEXPRESS",
        "SQLOLEDB",
        "SSDL",
        "SSMS",
        "Stashbox",
        "stateful",
        "statementname",
        "stdole",
        "strategize",
        "Stringable",
        "struct's",
        "structurename",
        "stylable",
        "subarray",
        "subarray's",
        "subcomponent",
        "subfolder",
        "subfolders",
        "submenu",
        "subqueries",
        "subquery",
        "subqueues",
        "Subsecond",
        "subsequences",
        "surrogated",
        "suvs",
        "svcutil",
        "Svetlana",
        "Swashbuckle",
        "synonymously",
        "systemdrive",
        "tailcalls",
        "targetable",
        "targetprofile",
        "Technet",
        "templating",
        "Teredo",
        "textbox's",
        "TEXTIMAGE",
        "TFVC",
        "THREADPOOL",
        "throughs",
        "timeframe",
        "Timespan",
        "tinyint",
        "Tizen",
        "Tlbexp",
        "Tlbimp",
        "tmpfs",
        "tokenizes",
        "toolchain",
        "toolset",
        "Toolsets",
        "Toolstrip",
        "tooltips",
        "transactionally",
        "transformational",
        "trimmable",
        "tsql",
        "tuple's",
        "tupled",
        "typeargumentname",
        "typeless",
        "typeload",
        "typeparam",
        "typeparameter",
        "typeparametername",
        "typeparamlist",
        "typeparamref",
        "tzoffset",
        "unassociated",
        "unativeint",
        "unawaited",
        "unboxed",
        "Unboxing",
        "uncheck",
        "unchecking",
        "underlyingclassname",
        "undocked",
        "unescaping",
        "unevaluated",
        "Ungroup",
        "ungrouped",
        "unhide",
        "uninstallation",
        "uninstallations",
        "uninstantiated",
        "uniqueidentifier",
        "unlist",
        "unlists",
        "unloadability",
        "unmanaged",
        "unmangled",
        "unpackage",
        "unpadded",
        "unparsable",
        "Unpatched",
        "Unretire",
        "unretired",
        "unsecure",
        "Unseparated",
        "unsignaled",
        "UNSTARTED",
        "Unsubscriber",
        "unsuspended",
        "unsynchronized",
        "untrapped",
        "unvalidated",
        "upbutton",
        "Upcasting",
        "upcasts",
        "USBN",
        "USERPROFILE",
        "usesystemdefault",
        "usings",
        "Validatable",
        "validators",
        "varbinary",
        "variablename",
        "variableorproperty",
        "Vbalr",
        "Vbcn",
        "vbcr",
        "vbcrlf",
        "vbruntime",
        "vctools",
        "vectorized",
        "verifiably",
        "versionnumber",
        "Veyor",
        "viewimports",
        "viewmodel",
        "viewmodels",
        "viewstart",
        "virtualizes",
        "visibilities",
        "visualbasic",
        "visualstudio",
        "vshost",
        "VSIX",
        "vssscc",
        "vstemplate",
        "vstest",
        "VSTO",
        "vsvars",
        "Walkthrough",
        "walkthroughs",
        "warnaserror",
        "warninglist",
        "WASB",
        "WBEM",
        "webapi",
        "webapp",
        "Webhook",
        "Webhooks",
        "Webjob",
        "Webjobs",
        "Websockets",
        "westus",
        "wevtutil",
        "whiteboarding",
        "whitelisting",
        "windir",
        "windowsservercore",
        "winexe",
        "winforms",
        "winfrm",
        "wordml",
        "Wordprocessing",
        "WORKDIR",
        "WPF's",
        "writeln",
        "WSAT",
        "WSUS",
        "wwwroot",
        "Xamarin",
        "Xamarin's",
        "xamarinios",
        "xamarinstudio",
        "xamlx",
        "XBAP",
        "XBAPs",
        "Xbox",
        "XCOPY",
        "xmlserializer",
        "xperf",
        "xproj",
        "xpsdocument",
        "Xunit",
        "Yoshi",
        "Zabokritski",
        "Zune",
        "zypper"
    ],
    "flagWords": [],
    "dictionaries": [
        "csharp",
        "cpp",
        "python",
        "java",
        "javascript",
        "node",
        "php",
        "go",
        "node",
        "powershell",
        "software-terms",
        "companies",
        "fonts",
        "filetypes",
        "lorem-ipsum"
    ],
    "ignoreRegExpList": [
        "author:[\\w\\s\"\\-\\.\\d]*",
        "ms\\.author:[\\w\\s\\d\"\\-\\.;]*",
        "ms\\.custom:[\\w\\s\"\\-\\.=\\,]*",
        "manager:[\\w\\s\"\\.]*",
        "ms\\.service:[\\w\\s\"]*",
        "editor:[\\w\\s\"]*",
        "reviewer:[\\w\\s\\,;\\.\\-]*",
        "]\\([~\\w\\s_/#\\.=\\?\"\\-`\\,\\?%]*\\)",
        "\\[!INCLUDE\\[[\\w\\s_/#\\.=\\?\"\\-`\\,]*\\]",
        "\\[!code-\\w*\\[[\\w\\s_/#\\.=\\?\"\\-`\\,]*\\]",
        "name=\"[\\w\\-]*\"",
        "class=\"[\\w\\-]*\"",
        "id=\"[\\w\\-]*\"",
        "href=\"[\\w\\-\\.&=?%\\d/]*\"",
        "src=\"[\\w\\-\\.&=?%\\d/]*\"",
        "href:[\\s\\w\\-\\.\\?/%]*",
        "Urls",
        "Email"
    ],
    "ignorePaths": [
        "**/*.PNG",
        "**/*.JPG",
        "**/*.GIF",
        "**/*.svg",
        "**/*.tsv",
        "**/*.csv",
        "**/*.tif",
        "**/*.xps",
        "**/*.rtf",
        "**/*.pb",
        "**/*.aps",
        "**/*.resx",
        "**/*.txt",
        "**/wwwroot/**/*.*",
        "**/*.wav",
        "**/*.ico",
        "**/*.wdp",
        "**/*.index",
        "**/*.vsdx",
        "**/*.data*",
        "**/app_data/*",
        "docfx.json",
        ".github/CODEOWNERS"
    ],
    "overrides": [
        {
            "filename": "**/docs/framework/unmanaged-api/hosting/loadstringrcex-function.md",
            "words": [
                "Resouce"
            ]
        },
        {
            "filename": "**/docs/framework/wcf/diagnostics/exceptions-reference/security-exceptions.md",
            "words": [
                "Idenity"
            ]
        },
        {
            "filename": "**/docs/csharp/programming-guide/concepts/linq/how-to-catch-parsing-errors.md",
            "words": [
                "Contcts"
            ]
        },
        {
            "filename": "**/docs/visual-basic/programming-guide/concepts/linq/how-to-catch-parsing-errors.md",
            "words": [
                "Contcts"
            ]
        },
        {
            "filename": "**/docs/framework/wcf/diagnostics/exceptions-reference/identitymodel-exceptions.md",
            "words": [
                "Condtion",
                "Condtions"
            ]
        }
    ],
    "maxNumberOfProblems": 1000,
    "enabledLanguageIds": [
        "asciidoc",
        "c",
        "cpp",
        "csharp",
        "css",
        "fsharp",
        "go",
        "handlebars",
        "html",
        "jade",
        "javascript",
        "javascriptreact",
        "json",
        "latex",
        "less",
        "markdown",
        "php",
        "plaintext",
        "powershell",
        "pub",
        "python",
        "restructuredtext",
        "rust",
        "scss",
        "text",
        "typescript",
        "typescriptreact",
        "vb",
        "xml",
        "yaml",
        "yml"
    ]
}

---

## File: docfx.json

{
    "build": {
        "markdownEngineName": "markdig",
        "markdownEngineProperties": {
            "markdigExtensions": [
                "abbreviations",
                "definitionlists",
                "tasklists",
                "footnotes",
                "diagrams"
            ]
        },
        "content": [
            {
                "files": [
                    "api/**/*.md"
                ]
            },
            {
                "files": [
                    "**/*.md",
                    "**/*.yml"
                ],
                "src": "docs",
                "dest": ".",
                "exclude": [
                    "AGENTS.md",
                    "samples/**/*.*",
                    "**/snippets/**",
                    "**/includes/**",
                    "**/mermaidjs/**",
                    "**/util/**",
                    "***/contributing.md"
                ]
            },
            {
                "files": [
                    "**/*.md"
                ],
                "src": "_csharpstandard/standard",
                "dest": "csharp/language-reference/language-specification"
            },
            {
                "files": [
                    "**/*.md"
                ],
                "src": "redirections/proposals",
                "dest": "_csharplang/proposals"
            },
            {
                "files": [
                    "csharp-14.0/*.md",
                    "csharp-15.0/*.md",
                    "unsafe-evolution.md"
                ],
                "src": "_csharplang/proposals",
                "dest": "csharp/language-reference/proposals",
                "exclude": [
                    "**/README.md",
                    "inactive/**",
                    "rejected/**"
                ]
            },
            {
                "files": [
                    "Compiler Breaking Changes - DotNet 7.md",
                    "Compiler Breaking Changes - DotNet 8.md",
                    "Compiler Breaking Changes - DotNet 9.md",
                    "Compiler Breaking Changes - DotNet 10.md",
                    "Compiler Breaking Changes - DotNet 11.md",
                    "Deviations from Standard.md"
                ],
                "src": "_roslyn/docs/compilers/CSharp",
                "dest": "csharp/whats-new/breaking-changes",
                "exclude": []
            },
            {
                "files": [
                    "**/*.md"
                ],
                "src": "_vblang/spec",
                "dest": "visual-basic/reference/language-specification",
                "exclude": [
                    "README.md",
                    "LICENSE.md",
                    "**/includes/**"
                ]
            }
        ],
        "resource": [
            {
                "files": [
                    "images/**",
                    "**/*.png",
                    "**/*.svg",
                    "**/*.jpg",
                    "**/*.gif",
                    "**/*.bmp"
                ],
                "src": "docs",
                "dest": ".",
                "exclude": [
                    "**/obj/**",
                    "samples/**/*.*",
                    "_themes/DocPacker/**"
                ]
            }
        ],
        "externalReference": [],
        "globalMetadata": {
            "apiPlatform": "dotnet",
            "author": "dotnet-bot",
            "breadcrumb_path": "/dotnet/breadcrumb/toc.json",
            "dev_langs": [
                "csharp"
            ],
            "featureFlags": [
                "enable_uhf_ppe"
            ],
            "feedback_system": "OpenSource",
            "feedback_github_repo": "dotnet/docs",
            "feedback_product_url": "https://aka.ms/feedback/report?space=61",
            "open_source_feedback_contributorGuideUrl": "https://learn.microsoft.com/contribute/content/dotnet/dotnet-contribute",
            "open_source_feedback_issueTitle": "",
            "open_source_feedback_productLogoLightUrl": "https://learn.microsoft.com/media/logos/logo_net.svg",
            "open_source_feedback_productLogoDarkUrl": "https://learn.microsoft.com/media/logos/logo_net.svg",
            "open_source_feedback_issueUrl": "https://github.com/dotnet/docs/issues/new?template=z-customer-feedback.yml",
            "open_source_feedback_productName": ".NET",
            "social_image_url": "/dotnet/media/dotnet-logo.png",
            "ms.author": "dotnetcontent",
            "ms.devlang": "dotnet",
            "ms.service": "dotnet",
            "ms.topic": "concept-article",
            "searchScope": [
                ".NET"
            ],
            "show_latex": true,
            "uhfHeaderId": "MSDocsHeader-DotNet",
            "_displayLangs": [
                "csharp"
            ],
            "_op_documentIdPathDepotMapping": {
                "docs/architecture/microservices/": {
                    "folder_relative_path_in_docset": "docs/standard/microservices-architecture/"
                },
                "docs/architecture/modern-web-apps-azure/": {
                    "folder_relative_path_in_docset": "docs/standard/modern-web-apps-azure-architecture/"
                }
            }
        },
        "fileMetadata": {
            "uhfHeaderId": {
                "docs/csharp/**/**.*": "MSDocsHeader-DotNetCSharp",
                "_csharplang/**.*": "MSDocsHeader-DotNetCSharp",
                "_csharpstandard/standard/*.md": "MSDocsHeader-DotNetCSharp"
            },
            "feedback_system": {
                "docs/standard/design-guidelines/**/**.md": "None",
                "docs/framework/data/adonet/**/**.md": "None",
                "docs/framework/ui-automation/**/**.md": "None",
                "docs/framework/wcf/**/**.md": "None"
            },
            "open_source_feedback_issueUrl": {
                "_csharplang/**.*": "https://github.com/dotnet/csharplang/issues/new?template=docs-feedback.yml",
                "_csharpstandard/standard/*.md": "https://github.com/dotnet/csharpstandard/issues/new?template=docs-feedback.yml"
            },
            "open_source_feedback_productName": {
                "_csharplang/**.*": "C# feature specifications",
                "_csharpstandard/standard/*.md": "ECMA C# draft specification",
                "_vblang/**.*": "Visual Basic language spec",
                "_roslyn/**.*": "Roslyn breaking changes"
            },
            "open_source_feedback_issueLabels": {
                "_csharplang/**.*": "Area-Speclets,untriaged",
                "_csharpstandard/standard/*.md": "status: needs triaging"
            },
            "social_image_url": {
                "docs/architecture/**/*.*": "/dotnet/media/dotnet-bot_microservices.png",
                "docs/azure/**/*.*": "/dotnet/media/dotnet-bot_cloud-apps.png",
                "docs/csharp/**/*.*": "/dotnet/media/logo_csharp.png",
                "docs/fsharp/**/*.*": "/dotnet/media/logo_fsharp.png",
                "docs/iot/**/*.*": "/dotnet/media/dotnet-bot_iot.png",
                "docs/machine-learning/**/*.*": "/dotnet/media/dotnet-bot_machinelearning.png",
                "docs/orleans/**/*.*": "/dotnet/media/dotnet-orleans.png",
                "docs/standard/**/*.*": "/dotnet/media/dot-net-cross-platform.png",
                "docs/visual-basic/**/*.*": "/dotnet/media/logo_vb.png"
            },
            "feedback_product_url": {
                "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/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",
                "docs/orleans/**/**.md": "https://github.com/dotnet/orleans",
                "docs/standard/data/sqlite/**/*.md": "https://github.com/dotnet/efcore"
            },
            "ms.service": {
                "_csharplang/**/*.{md,yml}": "dotnet-csharp",
                "_csharpstandard/**/*.{md,yml}": "dotnet-csharp",
                "_roslyn/docs/compilers/CSharp/*.{md,yml}": "dotnet-csharp",
                "_vblang/spec/*.{md,yml}": "dotnet-visual-basic",
                "docs/architecture/**/**.{md,yml}": "dotnet-architecture",
                "docs/azure/**/*.{md,yml}": "dotnet-azure",
                "docs/core/**/*.{md,yml}": "dotnet-fundamentals",
                "docs/csharp/**/*.{md,yml}": "dotnet-csharp",
                "docs/framework/**/**.{md,yml}": "dotnet-framework",
                "docs/fsharp/**/**.{md,yml}": "dotnet-fsharp",
                "docs/fundamentals/**/*.{md,yml}": "dotnet-fundamentals",
                "docs/machine-learning/**/*.{md,yml}": "dotnet-ml",
                "docs/standard/**/**.{md,yml}": "dotnet-fundamentals",
                "docs/standard/data/**/**.{md,yml}": "dotnet-data-access",
                "docs/standard/design-guidelines/*.{md,yml}": "dotnet",
                "docs/standard/security/*.{md,yml}": "dotnet",
                "docs/visual-basic/**/**.{md,yml}": "dotnet-visual-basic",
                "docs/orleans/**/**.{md,yml}": "dotnet-orleans"
            },
            "ms.topic": {
                "_csharplang/**/*.md": "language-reference",
                "_csharpstandard/**/*.md": "language-reference",
                "_vblang/spec/*.md": "language-reference",
                "docs/architecture/**/*.md": "concept-article",
                "docs/azure/migration/**/*.md": "upgrade-and-migration-article",
                "docs/core/additional-tools/dnim*.md": "reference",
                "docs/core/compatibility/**/*.md": "concept-article",
                "docs/core/deploying/native-aot/warnings/**.md": "error-reference",
                "docs/core/deploying/single-file/warnings/**.md": "error-reference",
                "docs/core/deploying/trimming/trim-warnings/**.md": "error-reference",
                "docs/core/runtime-config/**.md": "reference",
                "docs/core/tools/dotnet*.md": "reference",
                "docs/core/tools/sdk-errors/*.md": "error-reference",
                "docs/core/testing/mstest-analyzers/*.md": "error-reference",
                "docs/core/tutorials/**.md": "tutorial",
                "docs/core/unmanaged-api/**/*.md": "reference",
                "docs/core/whats-new/**/*.md": "whats-new",
                "docs/csharp/advanced-topics/interface-implementation/**.md": "tutorial",
                "docs/csharp/fundamentals/program-structure/**.md": "concept-article",
                "docs/csharp/how-to/**/*.md": "how-to",
                "docs/csharp/language-reference/**/*.md": "language-reference",
                "docs/csharp/language-reference/compiler-messages/*.md": "error-reference",
                "docs/csharp/linq/*.md": "how-to",
                "docs/csharp/misc/*.md": "error-reference",
                "docs/csharp/programming-guide/**": "concept-article",
                "docs/csharp/roslyn-sdk/get-started/*.md": "tutorial",
                "docs/csharp/roslyn-sdk/tutorials/*.md": "tutorial",
                "docs/csharp/tour-of-csharp/*.md": "overview",
                "docs/csharp/tour-of-csharp/tutorials/**": "tutorial",
                "docs/csharp/tutorials/**": "tutorial",
                "docs/framework/additional-apis/**/**.md": "reference",
                "docs/framework/app-domains/**/*.md": "concept-article",
                "docs/framework/configure-apps/file-schema/**/**.md": "reference",
                "docs/framework/data/adonet/ef/language-reference/*-entity-sql.md": "language-reference",
                "docs/framework/debug-trace-profile/*-mda.md": "reference",
                "docs/framework/performance/*-etw-events.md": "reference",
                "docs/framework/release-notes/**.md": "release-notes",
                "docs/framework/tools/**/**.md": "reference",
                "docs/framework/unmanaged-api/**/**.md": "reference",
                "docs/framework/wcf/diagnostics/etw/**.md": "reference",
                "docs/framework/wcf/diagnostics/event-logging/**.md": "reference",
                "docs/framework/wcf/diagnostics/performance-counters/**.md": "reference",
                "docs/framework/wcf/diagnostics/tracing/microsoft-transactions-*.md": "reference",
                "docs/framework/wcf/diagnostics/tracing/ssc-*.md": "reference",
                "docs/framework/wcf/diagnostics/tracing/system-*.md": "reference",
                "docs/framework/wcf/diagnostics/wmi/**.md": "reference",
                "docs/framework/**/how-to*.md": "how-to",
                "docs/framework/**/troubleshooting*.md": "troubleshooting",
                "docs/fsharp/language-reference/**/**.md": "language-reference",
                "docs/fsharp/tutorials/*.md": "tutorial",
                "docs/fsharp/get-started/**/*.md": "get-started",
                "docs/fundamentals/**/how-to*.md": "how-to",
                "docs/fundamentals/apicompat/package-validation/**.md": "how-to",
                "docs/fundamentals/code-analysis/quality-rules/**.md": "error-reference",
                "docs/fundamentals/code-analysis/style-rules/**.md": "error-reference",
                "docs/fundamentals/diagnostics/runtime-*.md": "reference",
                "docs/fundamentals/syslib-diagnostics/**/*.md": "error-reference",
                "docs/orleans/tutorials-and-samples/**.md": "tutorial",
                "docs/samples-and-tutorials/*.md": "tutorial",
                "docs/standard/**/how-to*.md": "how-to",
                "docs/standard/base-types/*.md": "how-to",
                "docs/standard/design-guidelines": "concept-article",
                "docs/standard/serialization/binaryformatter-migration-guide/**.md": "upgrade-and-migration-article",
                "docs/visual-basic/developing-apps/**/*.md": "how-to",
                "docs/visual-basic/language-reference/**/*.md": "language-reference",
                "docs/visual-basic/reference/**/*.md": "language-reference",
                "docs/visual-basic/misc/bc*.md": "error-reference",
                "docs/visual-basic/programming-guide/**/how-to*.md": "how-to",
                "docs/visual-basic/programming-guide/**/troubleshooting*.md": "troubleshooting",
                "docs/visual-basic/programming-guide/concepts/**/*.md": "concept-article",
                "docs/visual-basic/programming-guide/language-features/constants-enums/*.md": "concept-article",
                "docs/visual-basic/**/troubleshooting*.md": "troubleshooting",
                "docs/framework/windows-workflow-foundation/1*.md": "error-reference",
                "docs/framework/windows-workflow-foundation/2*.md": "error-reference",
                "docs/framework/windows-workflow-foundation/3*.md": "error-reference",
                "docs/framework/windows-workflow-foundation/4*.md": "error-reference",
                "docs/framework/windows-workflow-foundation/5*.md": "error-reference",
                "includes/**/**.md": "include"
            },
            "dev_langs": {
                "docs/fsharp/**/**.md": [
                    "fsharp"
                ],
                "docs/visual-basic/**/**.md": [
                    "vb"
                ]
            },
            "ms.devlang": {
                "docs/csharp/**/*.*": "csharp",
                "docs/fsharp/**/**.md": "fsharp",
                "docs/visual-basic/**/**.md": "vb"
            },
            "author": {
                "_csharplang/**/*.{md,yml}": "billwagner",
                "_csharpstandard/**/*.{md,yml}": "billwagner",
                "_roslyn/docs/compilers/CSharp/*.{md,yml}": "billwagner",
                "_vblang/spec/*.{md,yml}": "billwagner",
                "docs/ai/**/*.{md,yml}": "gewarren",
                "docs/architecture/**/**.{md,yml}": "jamesmontemagno",
                "docs/azure/**/*.{md,yml}": "alexwolfmsft",
                "docs/core/**/**.{md,yml}": "gewarren",
                "docs/core/compatibility/**/**.{md,yml}": "gewarren",
                "docs/core/deploying/**/**.{md,yml}": "adegeo",
                "docs/core/diagnostics/**/**.{md,yml}": "tommcdon",
                "docs/core/extensions/**/**.{md,yml}": "gewarren",
                "docs/core/docker/**/**.{md,yml}": "adegeo",
                "docs/core/install/**/**.{md,yml}": "adegeo",
                "docs/core/native-interop/**/**.{md,yml}": "jkoritzinsky",
                "docs/core/porting/github-copilot-upgrade/**/*.{md,yml}": "adegeo",
                "docs/core/project-sdk/**/**.{md,yml}": "gewarren",
                "docs/core/resilience/**/**.{md,yml}": "gewarren",
                "docs/core/runtime-config/**/**.{md,yml}": "gewarren",
                "docs/core/testing/**/**.{md,yml}": "meaghanlewis",
                "docs/core/tools/**/**.{md,yml}": "meaghanlewis",
                "docs/core/tutorials/**/**.{md,yml}": "meaghanlewis",
                "docs/core/versions/**/**.{md,yml}": "billwagner",
                "docs/core/whats-new/**/**.{md,yml}": "gewarren",
                "docs/csharp/**/*.{md,yml}": "billwagner",
                "docs/framework/**/**.{md,yml}": "gewarren",
                "docs/framework/additional-apis/pos-for-net/**/**.{md,yml}": "TerryWarwick",
                "docs/framework/app-domains/**/**.{md,yml}": "gewarren",
                "docs/framework/configure-apps/file-schema/network/**/**.{md,yml}": "karelz",
                "docs/framework/configure-apps/file-schema/wcf/**/**.{md,yml}": "mconnew",
                "docs/framework/configure-apps/file-schema/winforms/**/**.{md,yml}": "adegeo",
                "docs/framework/data/**/**.{md,yml}": "cmastr",
                "docs/framework/deployment/**/**.{md,yml}": "adegeo",
                "docs/framework/get-started/**/**.{md,yml}": "gewarren",
                "docs/framework/install/**/**.{md,yml}": "adegeo",
                "docs/framework/migration-guide/**/**.{md,yml}": "gewarren",
                "docs/framework/network-programming/**/**.{md,yml}": "karelz",
                "docs/framework/performance/**/**.{md,yml}": "billwagner",
                "docs/framework/reflection-and-codedom/**/**.{md,yml}": "adegeo",
                "docs/framework/tools/**/**.{md,yml}": "gewarren",
                "docs/framework/ui-automation/**/**.{md,yml}": "adegeo",
                "docs/framework/unmanaged-api/alink/**/**.{md,yml}": "jeffschwMSFT",
                "docs/framework/unmanaged-api/debugging/**/**.{md,yml}": "tommcdon",
                "docs/framework/unmanaged-api/diagnostics/**/**.{md,yml}": "tommcdon",
                "docs/framework/unmanaged-api/fusion/**/**.{md,yml}": "jeffschwMSFT",
                "docs/framework/unmanaged-api/hosting/**/**.{md,yml}": "jeffschwMSFT",
                "docs/framework/unmanaged-api/profiling/**/**.{md,yml}": "tommcdon",
                "docs/framework/unmanaged-api/strong-naming/**/**.{md,yml}": "jeffschwMSFT",
                "docs/framework/unmanaged-api/tlbexp/**/**.{md,yml}": "jeffschwMSFT",
                "docs/framework/whats-new/**/**.{md,yml}": "gewarren",
                "docs/framework/wcf/**/**.{md,yml}": "mconnew",
                "docs/fsharp/**/**.{md,yml}": "billwagner",
                "docs/fundamentals/code-analysis/**/**.{md,yml}": "gewarren",
                "docs/fundamentals/networking/**/**.{md,yml}": "gewarren",
                "docs/fundamentals/runtime-libraries/**/**.{md,yml}": "gewarren",
                "docs/fundamentals/syslib-diagnostics/**/**.{md,yml}": "gewarren",
                "docs/machine-learning/**/**.{md,yml}": "gewarren",
                "docs/orleans/**/*.{md,yml}": "meaghanlewis",
                "docs/standard/**/**.{md,yml}": "gewarren",
                "docs/standard/analyzers/**/**.{md,yml}": "gewarren",
                "docs/standard/assembly/**/**.{md,yml}": "gewarren",
                "docs/standard/asynchronous-programming-patterns/**/**.{md,yml}": "billwagner",
                "docs/standard/attributes/**/**.{md,yml}": "gewarren",
                "docs/standard/base-types/**/**.{md,yml}": "adegeo",
                "docs/standard/collections/**/**.{md,yml}": "adegeo",
                "docs/standard/commandline/**/**.{md,yml}": "gewarren",
                "docs/standard/data/**/**.{md,yml}": "gewarren",
                "docs/standard/data/sqlite/**/**.{md,yml}": "ajcvickers",
                "docs/standard/datetime/**/**.{md,yml}": "adegeo",
                "docs/standard/design-guidelines/**/**.{md,yml}": "KrzysztofCwalina",
                "docs/standard/events/**/**.{md,yml}": "adegeo",
                "docs/standard/exceptions/**/**.{md,yml}": "gewarren",
                "docs/standard/garbage-collection/**/**.{md,yml}": "gewarren",
                "docs/standard/generics/**/**.{md,yml}": "adegeo",
                "docs/standard/io/**/**.{md,yml}": "adegeo",
                "docs/standard/library-guidance/**/**.{md,yml}": "jamesnk",
                "docs/standard/linq/**/**.{md,yml}": "billwagner",
                "docs/standard/memory-and-spans/**/**.{md,yml}": "gewarren",
                "docs/standard/native-interop/**/**.{md,yml}": "jkoritzinsky",
                "docs/standard/parallel-programming/**/**.{md,yml}": "adegeo",
                "docs/standard/security/**/**.{md,yml}": "billwagner",
                "docs/standard/serialization/**/**.{md,yml}": "gewarren",
                "docs/standard/threading/**/**.{md,yml}": "billwagner",
                "docs/standard/whats-new/**/**.{md,yml}": "gewarren",
                "docs/visual-basic/**/**.{md,yml}": "billwagner",
                "includes/**/**.md": "docs"
            },
            "ms.author": {
                "_csharplang/**/*.{md,yml}": "wiwagn",
                "_csharpstandard/**/*.{md,yml}": "wiwagn",
                "_roslyn/docs/compilers/CSharp/*.{md,yml}": "wiwagn",
                "_vblang/spec/*.{md,yml}": "wiwagn",
                "docs/ai/**/*.{md,yml}": "gewarren",
                "docs/architecture/**/**.{md,yml}": "jamont",
                "docs/azure/**/*.{md,yml}": "alexwolf",
                "docs/orleans/**/*.{md,yml}": "mosagie",
                "docs/core/**/**.{md,yml}": "dotnetcontent",
                "docs/core/compatibility/**/**.{md,yml}": "gewarren",
                "docs/core/deploying/**/**.{md,yml}": "adegeo",
                "docs/core/diagnostics/**/**.{md,yml}": "tommcdon",
                "docs/core/extensions/**/**.{md,yml}": "gewarren",
                "docs/core/docker/**/**.{md,yml}": "adegeo",
                "docs/core/install/**/**.{md,yml}": "adegeo",
                "docs/core/native-interop/**/**.{md,yml}": "jekoritz",
                "docs/core/porting/**/**.{md,yml}": "dotnetcontent",
                "docs/core/porting/github-copilot-upgrade/**/*.{md,yml}": "adegeo",
                "docs/core/project-sdk/**/**.{md,yml}": "gewarren",
                "docs/core/resilience/**/**.{md,yml}": "gewarren",
                "docs/core/runtime-config/**/**.{md,yml}": "gewarren",
                "docs/core/testing/**/**.{md,yml}": "mosagie",
                "docs/core/tools/**/**.{md,yml}": "mosagie",
                "docs/core/tutorials/**/**.{md,yml}": "mosagie",
                "docs/core/versions/**/**.{md,yml}": "wiwagn",
                "docs/core/whats-new/**/**.{md,yml}": "gewarren",
                "docs/csharp/**/*.{md,yml}": "wiwagn",
                "docs/framework/**/**.{md,yml}": "dotnetcontent",
                "docs/framework/app-domains/**/**.{md,yml}": "gewarren",
                "docs/framework/configure-apps/file-schema/network/**/**.{md,yml}": "ncldev",
                "docs/framework/configure-apps/file-schema/winforms/**/**.{md,yml}": "adegeo",
                "docs/framework/deployment/**/**.{md,yml}": "adegeo",
                "docs/framework/get-started/**/**.{md,yml}": "gewarren",
                "docs/framework/install/**/**.{md,yml}": "adegeo",
                "docs/framework/migration-guide/**/**.{md,yml}": "gewarren",
                "docs/framework/network-programming/**/**.{md,yml}": "ncldev",
                "docs/framework/performance/**/**.{md,yml}": "wiwagn",
                "docs/framework/reflection-and-codedom/**/**.{md,yml}": "adegeo",
                "docs/framework/tools/**/**.{md,yml}": "gewarren",
                "docs/framework/ui-automation/**/**.{md,yml}": "adegeo",
                "docs/framework/unmanaged-api/alink/**/**.{md,yml}": "jeffschw",
                "docs/framework/unmanaged-api/debugging/**/**.{md,yml}": "tommcdon",
                "docs/framework/unmanaged-api/diagnostics/**/**.{md,yml}": "tommcdon",
                "docs/framework/unmanaged-api/fusion/**/**.{md,yml}": "jeffschw",
                "docs/framework/unmanaged-api/hosting/**/**.{md,yml}": "jeffschw",
                "docs/framework/unmanaged-api/profiling/**/**.{md,yml}": "tommcdon",
                "docs/framework/unmanaged-api/strong-naming/**/**.{md,yml}": "jeffschw",
                "docs/framework/unmanaged-api/tlbexp/**/**.{md,yml}": "jeffschw",
                "docs/framework/whats-new/**/**.{md,yml}": "gewarren",
                "docs/fsharp/**/**.{md,yml}": "wiwagn",
                "docs/fundamentals/code-analysis/**/*.{md,yml}": "gewarren",
                "docs/fundamentals/networking/**/**.{md,yml}": "gewarren",
                "docs/fundamentals/runtime-libraries/**/**.{md,yml}": "gewarren",
                "docs/fundamentals/syslib-diagnostics/**/**.{md,yml}": "gewarren",
                "docs/machine-learning/**/**.{md,yml}": "gewarren",
                "docs/standard/**/**.{md,yml}": "gewarren",
                "docs/standard/analyzers/**/**.{md,yml}": "gewarren",
                "docs/standard/assembly/**/**.{md,yml}": "gewarren",
                "docs/standard/asynchronous-programming-patterns/**/**.{md,yml}": "wiwagn",
                "docs/standard/attributes/**/**.{md,yml}": "gewarren",
                "docs/standard/base-types/**/**.{md,yml}": "adegeo",
                "docs/standard/collections/**/**.{md,yml}": "adegeo",
                "docs/standard/commandline/**/**.{md,yml}": "gewarren",
                "docs/standard/data/**/**.{md,yml}": "gewarren",
                "docs/standard/datetime/**/**.{md,yml}": "adegeo",
                "docs/standard/design-guidelines/**/**.{md,yml}": "kcwalina",
                "docs/standard/events/**/**.{md,yml}": "adegeo",
                "docs/standard/exceptions/**/**.{md,yml}": "gewarren",
                "docs/standard/garbage-collection/**/**.{md,yml}": "gewarren",
                "docs/standard/generics/**/**.{md,yml}": "adegeo",
                "docs/standard/io/**/**.{md,yml}": "adegeo",
                "docs/standard/library-guidance/**/**.{md,yml}": "jamesnk",
                "docs/standard/linq/**/**.{md,yml}": "dotnetcontent",
                "docs/standard/memory-and-spans/**/**.{md,yml}": "gewarren",
                "docs/standard/native-interop/**/**.{md,yml}": "jekoritz",
                "docs/standard/parallel-programming/**/**.{md,yml}": "adegeo",
                "docs/standard/security/**/**.{md,yml}": "wiwagn",
                "docs/standard/serialization/**/**.{md,yml}": "gewarren",
                "docs/standard/threading/**/**.{md,yml}": "wiwagn",
                "docs/standard/whats-new/**/**.{md,yml}": "dotnetcontent",
                "docs/visual-basic/**/**.{md,yml}": "wiwagn"
            },
            "ms.date": {
                "_csharpstandard/standard/*.md": "09/22/2026",
                "_csharplang/proposals/csharp-14.0/*.md": "08/06/2025",
                "_csharplang/proposals/csharp-15.0/*.md": "08/12/2026",
                "_csharplang/proposals/*.md": "08/12/2026",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "11/08/2022",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "11/08/2023",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md": "11/09/2024",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 10.md": "11/09/2024",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 11.md": "01/09/2025",
                "_roslyn/docs/compilers/CSharp/Deviations from Standard.md": "04/24/2025",
                "_vblang/spec/*.md": "07/21/2017"
            },
            "ms.subservice": {
                "_csharplang/**/*.{md,yml}": "lang-spec",
                "_csharpstandard/**/*.{md,yml}": "lang-spec",
                "_roslyn/docs/compilers/CSharp/*.{md,yml}": "whats-new",
                "_vblang/spec/*.{md,yml}": "vb-language-spec",
                "docs/ai/**/**.{md,yml}": "intelligent-apps",
                "docs/architecture/blazor-for-web-forms-developers/**/**.{md,yml}": "blazor",
                "docs/architecture/cloud-native/**/**.{md,yml}": "cloud-native",
                "docs/architecture/microservices/**/**.{md,yml}": "microservices",
                "docs/architecture/modern-web-apps-azure/**/**.{md,yml}": "modern-web-apps-azure",
                "docs/azure/migration/appmod/**.{md,yml}": "migration-copilot",
                "docs/csharp/misc/**/**.{md,yml}": "errors-warnings",
                "docs/csharp/whats-new/**/**.{md,yml}": "whats-new",
                "docs/csharp/how-to/**/**.{md,yml}": "fundamentals",
                "docs/csharp/linq/**/**.{md,yml}": "csharp-linq",
                "docs/csharp/fundamentals/**/**.{md,yml}": "fundamentals",
                "docs/csharp/asynchronous-programming/**/**.{md,yml}": "async-task-programming",
                "docs/csharp/advanced-topics/**/**.{md,yml}": "advanced-concepts",
                "docs/csharp/language-reference/unsafe-code.{md,yml}": "advanced-concepts",
                "docs/csharp/programming-guide/indexers/**/**.{md,yml}": "fundamentals",
                "docs/csharp/programming-guide/generics/**/**.{md,yml}": "fundamentals",
                "docs/csharp/programming-guide/strings/**/**.{md,yml}": "fundamentals",
                "docs/csharp/programming-guide/types/**/**.{md,yml}": "fundamentals",
                "docs/csharp/programming-guide/concepts/covariance-contravariance/**/**.{md,yml}": "advanced-concepts",
                "docs/csharp/programming-guide/classes-and-structs/**/**.{md,yml}": "fundamentals",
                "docs/csharp/programming-guide/delegates/**/**.{md,yml}": "fundamentals",
                "docs/csharp/programming-guide/events/**/**.{md,yml}": "fundamentals",
                "docs/csharp/programming-guide/interfaces/**/**.{md,yml}": "fundamentals",
                "docs/csharp/tutorials/**/**.{md,yml}": "fundamentals",
                "docs/csharp/language-reference/**/**.{md,yml}": "lang-reference",
                "docs/csharp/language-reference/compiler-messages/**/**.{md,yml}": "errors-warnings",
                "docs/csharp/roslyn-sdk/**/**.{md,yml}": "roslyn-sdk",
                "docs/csharp/tour-of-csharp/**/**.{md,yml}": "get-started",
                "docs/core/install/**/**.{md,yml}": "install",
                "docs/core/docker/**/**.{md,yml}": "dotnet-docker",
                "docs/framework/configure-apps/file-schema/network/**/**.{md,yml}": "networking",
                "docs/framework/configure-apps/file-schema/wcf/**/**.{md,yml}": "wcf",
                "docs/framework/data/adonet/**/**.{md,yml}": "data-access",
                "docs/framework/install/**/**.{md,yml}": "install-deployment",
                "docs/framework/network-programming/**/**.{md,yml}": "networking",
                "docs/framework/wcf/**/**.{md,yml}": "wcf",
                "docs/framework/windows-workflow-foundation/**/**.{md,yml}": "wf",
                "docs/standard/analyzers/**.{md,yml}": "code-analyzers",
                "docs/standard/design-guidelines/*.{md,yml}": "standard-library",
                "docs/standard/security/**.{md,yml}": "security-practices",
                "docs/visual-basic/language-reference/error-messages/**/**.{md,yml}": "errors-warnings",
                "docs/visual-basic/misc/**/**.{md,yml}": "errors-warnings"
            },
            "title": {
                "_csharpstandard/standard/README.md": "Table of contents",
                "_csharpstandard/standard/foreword.md": "Foreword",
                "_csharpstandard/standard/introduction.md": "Introduction",
                "_csharpstandard/standard/scope.md": "Scope",
                "_csharpstandard/standard/normative-references.md": "Normative references",
                "_csharpstandard/standard/terms-and-definitions.md": "Terms and definitions",
                "_csharpstandard/standard/acronyms-and-abbreviations.md": "Acronyms and abbreviations",
                "_csharpstandard/standard/general-description.md": "General description",
                "_csharpstandard/standard/conformance.md": "Conformance",
                "_csharpstandard/standard/lexical-structure.md": "Lexical structure",
                "_csharpstandard/standard/basic-concepts.md": "Basic concepts",
                "_csharpstandard/standard/types.md": "Types",
                "_csharpstandard/standard/variables.md": "Variables",
                "_csharpstandard/standard/conversions.md": "Conversions",
                "_csharpstandard/standard/patterns.md": "Patterns and pattern matching",
                "_csharpstandard/standard/expressions.md": "Expressions",
                "_csharpstandard/standard/statements.md": "Statements",
                "_csharpstandard/standard/namespaces.md": "Namespaces",
                "_csharpstandard/standard/classes.md": "Classes",
                "_csharpstandard/standard/structs.md": "Structs",
                "_csharpstandard/standard/arrays.md": "Arrays",
                "_csharpstandard/standard/ranges.md": "Indexes and ranges",
                "_csharpstandard/standard/interfaces.md": "Interfaces",
                "_csharpstandard/standard/enums.md": "Enums",
                "_csharpstandard/standard/delegates.md": "Delegates",
                "_csharpstandard/standard/exceptions.md": "Exceptions",
                "_csharpstandard/standard/attributes.md": "Attributes",
                "_csharpstandard/standard/unsafe-code.md": "Unsafe code",
                "_csharpstandard/standard/grammar.md": "Grammar",
                "_csharpstandard/standard/portability-issues.md": "Portability issues",
                "_csharpstandard/standard/standard-library.md": "Standard library",
                "_csharpstandard/standard/documentation-comments.md": "Documentation comments",
                "_csharpstandard/standard/Bibliography.md": "Bibliography",
                "_csharplang/proposals/csharp-14.0/field-keyword.md": "The `field` contextual keyword",
                "_csharplang/proposals/csharp-14.0/unbound-generic-types-in-nameof.md": "Unbound generic types in `nameof`",
                "_csharplang/proposals/csharp-14.0/first-class-span-types.md": "First-class span types",
                "_csharplang/proposals/csharp-14.0/simple-lambda-parameters-with-modifiers.md": "Simple lambda parameters with modifiers",
                "_csharplang/proposals/csharp-14.0/partial-events-and-constructors.md": "Partial events and constructors",
                "_csharplang/proposals/csharp-14.0/null-conditional-assignment.md": "Null conditional assignment",
                "_csharplang/proposals/csharp-14.0/extensions.md": "Extension members",
                "_csharplang/proposals/csharp-14.0/user-defined-compound-assignment.md": "User-defined compound assignment",
                "_csharplang/proposals/csharp-14.0/ignored-directives.md": "Ignored preprocessor directives",
                "_csharplang/proposals/csharp-14.0/extension-operators.md": "Extension operators",
                "_csharplang/proposals/csharp-14.0/optional-and-named-parameters-in-expression-trees.md": "Optional and named parameters in expression trees",
                "_csharplang/proposals/csharp-15.0/collection-expression-arguments.md": "Collection expression arguments",
                "_csharplang/proposals/csharp-15.0/unions.md": "Unions",
                "_csharplang/proposals/csharp-15.0/closed-hierarchies.md": "Closed hierarchies",
                "_csharplang/proposals/csharp-15.0/labeled-break-continue.md": "Labeled break and continue",
                "_csharplang/proposals/csharp-15.0/extension-indexers.md": "Extension indexers",
                "_csharplang/proposals/unsafe-evolution.md": "Memory safety",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "C# compiler breaking changes since C# 10",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "C# compiler breaking changes since C# 11",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md": "C# compiler breaking changes since C# 12",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 10.md": "C# compiler breaking changes since C# 13",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 11.md": "C# compiler breaking changes since C# 14",
                "_roslyn/docs/compilers/CSharp/Deviations from Standard.md": "Deviations from the C# standard",
                "_vblang/spec/introduction.md": "Introduction",
                "_vblang/spec/lexical-grammar.md": "Lexical grammar",
                "_vblang/spec/preprocessing-directives.md": "Preprocessing directives",
                "_vblang/spec/general-concepts.md": "General concepts",
                "_vblang/spec/attributes.md": "Attributes (Visual Basic specification)",
                "_vblang/spec/source-files-and-namespaces.md": "Source files and namespaces",
                "_vblang/spec/types.md": "Types",
                "_vblang/spec/conversions.md": "Conversions",
                "_vblang/spec/type-members.md": "Type members",
                "_vblang/spec/statements.md": "Statements",
                "_vblang/spec/expressions.md": "Expressions",
                "_vblang/spec/documentation-comments.md": "Documentation comments",
                "_vblang/spec/overload-resolution.md": "Overload resolution"
            },
            "description": {
                "_csharpstandard/standard/README.md": "This contains the detailed table of contents, listing each clause in the specification",
                "_csharpstandard/standard/foreword.md": "Foreword for the C# draft specification",
                "_csharpstandard/standard/introduction.md": "This introduction provides an overview of the C# language and its design goals. Note: This chapter has been removed from the official specification in version 5.",
                "_csharpstandard/standard/scope.md": "This clause defines the scope of the C# language specification",
                "_csharpstandard/standard/normative-references.md": "This clause defines the normative references referred to and cited by this specification. Portions of this specification are governed by these references",
                "_csharpstandard/standard/terms-and-definitions.md": "This clause defines terms used in this specification",
                "_csharpstandard/standard/acronyms-and-abbreviations.md": "This clause defines acronyms and abbreviations used in this specification",
                "_csharpstandard/standard/general-description.md": "This clause defines the general description of the C# language specification",
                "_csharpstandard/standard/conformance.md": "This clause defines the areas of conformance for this specification",
                "_csharpstandard/standard/lexical-structure.md": "This chapter explains the lexical grammar, and the syntactic grammar of the C# language.",
                "_csharpstandard/standard/basic-concepts.md": "This chapter introduces the major building blocks of any C# program. Concepts such as assemblies, program start and completion, member access, garbage completion and execution order are defined.",
                "_csharpstandard/standard/types.md": "This chapter defines value types, reference types, generic types and other program entities. Concepts such as assemblies, namespaces, classes, interfaces and structs are defined.",
                "_csharpstandard/standard/variables.md": "This chapter covers variable categories, default values, definite assignment, and variable references.",
                "_csharpstandard/standard/conversions.md": "This chapter covers the possible conversions from one type to another in C#. Builtin conversions, user defined conversions, implicit and explicit conversions are defined.",
                "_csharpstandard/standard/patterns.md": "This chapter covers patterns and patttern matching. A pattern is a syntactic form that can be tested against an expression. Control flow can be achieved by matching against different patterns.",
                "_csharpstandard/standard/expressions.md": "This chapter covers operators and expressions. Expressions form several groups, including primary expressions, unary operators, arithmetic operators, relational and type testing operators, and logical operators.",
                "_csharpstandard/standard/statements.md": "This chapter covers statements in C#. Each statement is defined, as are statement blocks, statement reachability, and end points.",
                "_csharpstandard/standard/namespaces.md": "This chapter defines namespaces, including how to declare them and how to use them.",
                "_csharpstandard/standard/classes.md": "This chapter covers class declarations, including all member types that can be included in classes. This includes generic classes as well as non-generic classes.",
                "_csharpstandard/standard/structs.md": "This chapter defines struct declarations. In many cases, the descriptions are defined using the differences between classes and structs.",
                "_csharpstandard/standard/arrays.md": "This chapter defines arrays. It includes the rules for array variance, multi-dimensional arrays, and jagged arrays.",
                "_csharpstandard/standard/ranges.md": "This chapter defines the index and range operators for indexing into arrays, strings, and spans.",
                "_csharpstandard/standard/interfaces.md": "This chapter defines interfaces. This includes interface declarations, implementing interfaces, and explicit interface implementation.",
                "_csharpstandard/standard/enums.md": "This chapter defines the enum types in C#. Enums create a set of named constants and are represented by an underlying integral set of values.",
                "_csharpstandard/standard/delegates.md": "This chapter defines delegates, which are objects that hold type safe function pointers.",
                "_csharpstandard/standard/exceptions.md": "This chapter defines exceptions. Exceptions are how errors are reported by C# programs. This chapter covers throwing exceptions, catching exceptions, and resource cleanup when exceptions are thrown.",
                "_csharpstandard/standard/attributes.md": "This chapter covers attributes. Attributes are metadata types that can be applied to many program elements: classes, structs, assemblies, members, and arguments.",
                "_csharpstandard/standard/unsafe-code.md": "This chapter describes elements of C# that are allowed in unsafe code blocks. These elements include pointers, fixed buffers and dynamic memory allocation.",
                "_csharpstandard/standard/grammar.md": "This appendix lists the complete ANTLR grammar for C#. It's comprised of extracted blocks from each of the other clauses.",
                "_csharpstandard/standard/portability-issues.md": "This appendix lists information about implementation dependent behavior and situations resulting in undefined behavior.",
                "_csharpstandard/standard/standard-library.md": "This appendix lists requirements of the specification library. The C# language relies on these types for some of its behavior.",
                "_csharpstandard/standard/documentation-comments.md": "This appendix describes XML comments that are used to document your program.",
                "_csharpstandard/standard/Bibliography.md": "This appendix lists external standards referenced in this specification.",
                "_csharplang/proposals/csharp-14.0/field-keyword.md": "This proposal introduces a new keyword, `field`, that accesses the compiler generated backing field in a property accessor.",
                "_csharplang/proposals/csharp-14.0/unbound-generic-types-in-nameof.md": "This proposal introduces the ability to use unbound generic types such as `List<>` in `nameof` expressions. The type argument isn't required.",
                "_csharplang/proposals/csharp-14.0/first-class-span-types.md": "This proposal provides several implicit conversions to `Span<T>` and `ReadOnlySpan<T>` that enable library authors to have fewer overloads and developers to write code that resolves to faster Span based APIs",
                "_csharplang/proposals/csharp-14.0/simple-lambda-parameters-with-modifiers.md": "This proposal allows lambda parameters to be declared with modifiers without requiring their type names. You can add modifiers like `ref` and `out` to lambda parameters without specifying their type.",
                "_csharplang/proposals/csharp-14.0/partial-events-and-constructors.md": "This proposal allows partial events and constructors to be declared in partial classes. The event and constructor can be split across class declarations.",
                "_csharplang/proposals/csharp-14.0/null-conditional-assignment.md": "This proposal allows the null conditional operator to be used for the destination of assignment expressions. This allows you to assign a value to a property or field only if the left side is not null.",
                "_csharplang/proposals/csharp-14.0/extensions.md": "This proposal enables new kinds of extension members. These new extension members support extension properties, extension static members, including extension operators.",
                "_csharplang/proposals/csharp-14.0/user-defined-compound-assignment.md": "This proposal introduces user-defined compound assignment operators. Developers can override compound assignment, increment, and decrement operators.",
                "_csharplang/proposals/csharp-14.0/ignored-directives.md": "This proposal allows a source file to include ignored directives. In most cases, ignored directives are used for file-based apps, for example `#!`",
                "_csharplang/proposals/csharp-14.0/extension-operators.md": "This proposal extends the proposal for extensions to include *extension operators*, where an operator can be an extension member.",
                "_csharplang/proposals/csharp-14.0/optional-and-named-parameters-in-expression-trees.md": "This proposal allows an expression tree to include named and optional parameters. This enables expression trees to be more flexible in how they are constructed.",
                "_csharplang/proposals/csharp-15.0/collection-expression-arguments.md": "This proposal introduces collection expression arguments.",
                "_csharplang/proposals/csharp-15.0/unions.md": "This proposal describes union types and union declarations. Unions allow expressing values from a closed set of types with exhaustive pattern matching.",
                "_csharplang/proposals/csharp-15.0/closed-hierarchies.md": "This proposal describes closed class hierarchies. A closed class restricts derivation to its declaring assembly, enabling exhaustive `switch` expressions over its direct descendants.",
                "_csharplang/proposals/csharp-15.0/labeled-break-continue.md": "This proposal allows `break` and `continue` statements to optionally target an enclosing labeled loop or `switch` statement, enabling cleaner control flow in nested constructs without `goto`.",
                "_csharplang/proposals/csharp-15.0/extension-indexers.md": "This proposal extends the proposal for extensions to include *extension indexers*, where an operator can be an extension member.",
                "_csharplang/proposals/unsafe-evolution.md": "This proposal describes the evolution of memory safety in C#. It ties the `unsafe` context to operations that access unmanaged memory, rather than to the existence of pointer types.",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "Learn about any breaking changes since the initial release of C# 10 and included in C# 11",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "Learn about any breaking changes since the initial release of C# 11 and included in C# 12",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md": "Learn about any breaking changes since the initial release of C# 12 and included in C# 13",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 10.md": "Learn about any breaking changes since the initial release of C# 13 and included in C# 14",
                "_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 11.md": "Learn about any breaking changes since the initial release of C# 14 and included in C# 15",
                "_roslyn/docs/compilers/CSharp/Deviations from Standard.md": "Learn about any deviations from the C# standard",
                "_vblang/spec/introduction.md": "This chapter provides an overview of the Visual Basic language and its design goals.",
                "_vblang/spec/lexical-grammar.md": "This chapter defines the lexical grammar for Visual Basic.",
                "_vblang/spec/preprocessing-directives.md": "This chapter defines the preprocessing directives allowed in Visual Basic",
                "_vblang/spec/general-concepts.md": "This chapter describes the general concepts used in the Visual Basic language.",
                "_vblang/spec/attributes.md": "This chapter describes attributes. Attributes are metadata types that can be applied to many elements in your program.",
                "_vblang/spec/source-files-and-namespaces.md": "This chapter describes how you can organize your code in multiple folders, source files, and namespaces.",
                "_vblang/spec/types.md": "This chapter defines value types, reference types, generic types and other program entities in Visual Basic. Concepts such as assemblies, namespaces, classes, interfaces and structs are defined.",
                "_vblang/spec/conversions.md": "This chapter covers the possible conversions from one type to another in Visual Basic. Builtin conversions, user defined conversions, implicit and explicit conversions are defined.",
                "_vblang/spec/type-members.md": "This chapter defines members of types. Members include methods, properties, fields, delegates, and events.",
                "_vblang/spec/statements.md": "This chapter covers statements in Visual Basic. Each statement is defined, as are how to group statements, and the execution order of statements.",
                "_vblang/spec/expressions.md": "This chapter covers operators and expressions. Expressions include unary operators, arithmetic operators, relational and type testing operators, and logical operators.",
                "_vblang/spec/documentation-comments.md": "This chapter describes XML comments that are used to document your program.",
                "_vblang/spec/overload-resolution.md": "This chapter describes the rules that govern overload resolution when multiple members have the same name."
            },
            "titleSuffix": {
                "docs/**/*.{md,yml}": ".NET",
                "_csharpstandard/standard/*.md": "C# language specification",
                "_csharplang/proposals/csharp-14.0/*.md": "C# feature specifications",
                "_csharplang/proposals/csharp-15.0/*.md": "C# feature specifications",
                "_csharplang/proposals/*.md": "C# feature specifications (preview)",
                "docs/framework/**/*.{md,yml}": ".NET Framework",
                "docs/framework/data/adonet/**/*.{md,yml}": "ADO.NET",
                "docs/framework/wcf/**/*.{md,yml}": "WCF",
                "docs/fsharp/tutorials/**/*.{md,yml}": "F#",
                "docs/fsharp/language-reference/**/*.{md,yml}": "F#",
                "docs/fundamentals/**/*.{md,yml}": ".NET",
                "docs/core/additional-tools/**.{md,yml}": ".NET",
                "docs/core/install/**.{md,yml}": ".NET",
                "docs/core/compatibility/**.{md,yml}": ".NET",
                "docs/core/deploying/**.{md,yml}": ".NET",
                "docs/core/docker/**.{md,yml}": ".NET",
                "docs/core/extensions/**.{md,yml}": ".NET",
                "docs/core/porting/**.{md,yml}": ".NET Core",
                "docs/core/runtime-config/**.{md,yml}": ".NET",
                "docs/core/project-sdk/**.{md,yml}": ".NET",
                "docs/core/testing/**.{md,yml}": ".NET",
                "docs/core/tools/**.{md,yml}": ".NET CLI",
                "docs/core/tutorials/**.{md,yml}": ".NET",
                "docs/core/versions/**.{md,yml}": ".NET",
                "docs/csharp/**/*.{md,yml}": "C#",
                "docs/csharp/language-reference/**/*.{md,yml}": "C# reference",
                "docs/csharp/tour-of-csharp/**/*.{md,yml}": "A tour of C#",
                "docs/csharp/whats-new/**/*.{md,yml}": "",
                "docs/machine-learning/**/*.{md,yml}": "ML.NET",
                "docs/standard/data/sqlite/**/*.{md,yml}": "Microsoft.Data.Sqlite",
                "docs/standard/design-guidelines/**/*.{md,yml}": "Framework Design Guidelines",
                "docs/visual-basic/**/*.{md,yml}": "Visual Basic"
            },
            "open_to_public_contributors": {
                "docs/standard/design-guidelines/**.md": false,
                "_csharplang/**.md": false,
                "_csharpstandard/**.md": false,
                "_roslyn/**.md": false,
                "_vblang/**.md": false
            },
            "ms.collection": {
                "docs/ai/**/**.{md,yml}": "ce-skilling-ai-copilot",
                "docs/core/porting/github-copilot-upgrade/**/**.{md,yml}": "ce-skilling-ai-copilot"
            },
            "ms.custom": {
                "docs/ai/**/**.{md,yml}": "devx-track-dotnet",
                "docs/core/testing/*microsoft-testing-platform*.md": "microsoft-testing-platform",
                "docs/core/testing/test-platforms-overview.md": "microsoft-testing-platform",
                "docs/core/testing/unit-testing-with-dotnet-test.md": "microsoft-testing-platform",
                "docs/core/tools/dotnet-test-mtp.md": "microsoft-testing-platform"
            },
            "ms.update-cycle": {
                "docs/ai/**/**.{md,yml}": "180-days",
                "docs/core/compatibility/**/**.{md,yml}": "3650-days",
                "docs/core/porting/github-copilot-upgrade/**/**.{md,yml}": "180-days",
                "docs/csharp/advanced-topics/interop/**/**.{md,yml}": "1825-days",
                "docs/csharp/advanced-topics/reflection-and-attributes/**/**.{md,yml}": "1825-days",
                "docs/csharp/fundamentals/exceptions/**/**.{md,yml}": "1825-days",
                "docs/csharp/language-reference/**/**.{md,yml}": "1095-days",
                "docs/csharp/language-reference/compiler-messages/**/**.{md,yml}": "3650-days",
                "docs/csharp/language-reference/xmldoc/**/**.{md,yml}": "3650-days",
                "docs/csharp/linq/**/**.{md,yml}": "1825-days",
                "docs/csharp/misc/**/**.{md,yml}": "3650-days",
                "docs/csharp/roslyn-sdk/**/**.{md,yml}": "1825-days",
                "docs/csharp/specification/**/**.{md,yml}": "1825-days",
                "docs/csharp/whats-new/**/**.{md,yml}": "1095-days",
                "docs/framework/**/*.{md,yml}": "3650-days",
                "docs/fsharp/**/**.{md,yml}": "1095-days",
                "docs/fsharp/get-started/**/**.{md,yml}": "1095-days",
                "docs/fsharp/language-reference/**/**.{md,yml}": "1825-days",
                "docs/fsharp/language-reference/compiler-messages/**/**.{md,yml}": "3650-days",
                "docs/fsharp/scenarios/**/**.{md,yml}": "1095-days",
                "docs/fsharp/style-guide/**/**.{md,yml}": "1095-days",
                "docs/fsharp/tools/fsharp-interactive/**/**.{md,yml}": "1095-days",
                "docs/fsharp/tutorials/**/**.{md,yml}": "1095-days",
                "docs/fsharp/tutorials/type-providers/**/**.{md,yml}": "1825-days",
                "docs/fsharp/whats-new/**/**.{md,yml}": "365-days",
                "docs/fundamentals/runtime-libraries/**/**.{md,yml}": "3650-days",
                "docs/iot/**/**.{md,yml}": "1825-days",
                "docs/visual-basic/**/**.{md,yml}": "3650-days",
                "docs/visual-basic/developing-apps/**/**.{md,yml}": "1825-days",
                "docs/visual-basic/getting-started/**/**.{md,yml}": "1825-days",
                "docs/visual-basic/whats-new/**/**.{md,yml}": "1095-days"
            },
            "no-loc": {
                "docs/orleans/**/**.{md,yml}": [
                    "Grain",
                    "Grains"
                ],
                "**/**.{md,yml}": [
                    "Aspire",
                    "Orleans"
                ]
            }
        },
        "dest": "_site",
        "template": [
            "docs.html"
        ],
        "xref": [
            "_zip/missingapi.yml"
        ],
        "lruSize": 0
    }
}

---

## File: SECURITY.md

## Security

Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).

If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below.

## Reporting Security Issues

**Please do not report security vulnerabilities through public GitHub issues.**

Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report).

If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com).  If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey).

You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). 

Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:

  * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
  * Full paths of source file(s) related to the manifestation of the issue
  * The location of the affected source code (tag/branch/commit or direct URL)
  * Any special configuration required to reproduce the issue
  * Step-by-step instructions to reproduce the issue
  * Proof-of-concept or exploit code (if possible)
  * Impact of the issue, including how an attacker might exploit the issue

This information will help us triage your report more quickly.

If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs.

## Preferred Languages

We prefer all communications to be in English.

## Policy

Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd).

---

## File: ThirdPartyNotices.md

# Legal Notices

Microsoft and any contributors grant you a license to the Microsoft documentation and other content
in this repository under the [Creative Commons Attribution 4.0 International Public License](https://creativecommons.org/licenses/by/4.0/legalcode),
see the [LICENSE](LICENSE) file, and grant you a license to any code in the repository under the [MIT License](https://opensource.org/licenses/MIT), see the
[LICENSE-CODE](LICENSE-CODE) file.

Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation
may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries.
The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks.
Microsoft's general trademark guidelines can be found at <https://go.microsoft.com/fwlink/?LinkID=254653>.

Privacy information can be found at <https://privacy.microsoft.com/>

Microsoft and any contributors reserve all others rights, whether under their respective copyrights, patents,
or trademarks, whether by implication, estoppel or otherwise.

---

## File: .openpublishing.publish.config.json

{
  "docsets_to_publish": [
    {
      "docset_name": "core-docs",
      "build_source_folder": ".",
      "build_output_subfolder": ".",
      "locale": "en-us",
      "monikers": [],
      "xref_query_tags": [
        "/uwp/api"
      ],
      "filemap_share_depots": [
        "VS.dotnet-api-docs"
      ],
      "open_to_public_contributors": true,
      "type_mapping": {
        "ZonePivotGroups": "Toc",
        "Conceptual": "Content",
        "ManagedReference": "Content",
        "RestApi": "Content",
        "Tutorial": "Content"
      },
      "build_entry_point": "docs",
      "template_folder": "_themes"
    }
  ],
  "notification_subscribers": [],
  "sync_notification_subscribers": [],
  "branches_to_filter": [],
  "git_repository_branch_open_to_public_contributors": "main",
  "skip_source_output_uploading": false,
  "need_preview_pull_request": true,
  "need_pr_comments": false,
  "contribution_branch_mappings": {},
  "dependent_repositories": [
    {
      "path_to_root": "_themes",
      "url": "https://github.com/Microsoft/templates.docs.msft",
      "branch": "main",
      "branch_mapping": {}
    },
    {
      "path_to_root": "_themes.pdf",
      "url": "https://github.com/Microsoft/templates.docs.msft.pdf",
      "branch": "main",
      "branch_mapping": {}
    },
    {
      "path_to_root": "_csharplang",
      "url": "https://github.com/dotnet/csharplang",
      "branch": "main",
      "include_in_build": true,
      "branch_mapping": {}
    },
    {
      "path_to_root": "_csharpstandard",
      "url": "https://github.com/dotnet/csharpstandard",
      "branch": "alpha-v13",
      "include_in_build": true,
      "branch_mapping": {}
    },
    {
      "path_to_root": "_vblang",
      "url": "https://github.com/dotnet/vblang",
      "branch": "main",
      "include_in_build": true,
      "branch_mapping": {}
    },
    {
      "path_to_root": "_roslyn",
      "url": "https://github.com/dotnet/roslyn",
      "branch": "main",
      "include_in_build": true,
      "branch_mapping": {}
    },
    {
      "path_to_root": "machinelearning-samples",
      "url": "https://github.com/dotnet/machinelearning-samples",
      "branch": "main",
      "branch_mapping": {}
    },
    {
      "path_to_root": "iot-samples",
      "url": "https://github.com/MicrosoftDocs/dotnet-iot-assets",
      "branch": "main",
      "branch_mapping": {}
    },
    {
      "path_to_root": "azure-dev-docs",
      "url": "https://github.com/MicrosoftDocs/azure-dev-docs",
      "branch": "main",
      "branch_mapping": {}
    }
  ],
  "branch_target_mapping": {
    "live": [
      "Publish",
      "Pdf"
    ],
    "main": [
      "Publish",
      "Pdf"
    ]
  },
  "need_generate_pdf_url_template": true,
  "targets": {
    "Pdf": {
      "template_folder": "_themes.pdf"
    }
  },
  "docs_build_engine": {
    "name": "docfx_v3"
  },
  "redirection_files": [
    ".openpublishing.redirection.json",
    ".openpublishing.redirection.ai.json",
    ".openpublishing.redirection.architecture.json",
    ".openpublishing.redirection.azure.json",
    ".openpublishing.redirection.core.json",
    ".openpublishing.redirection.csharp.json",
    ".openpublishing.redirection.desktop-wpf.json",
    ".openpublishing.redirection.framework.json",
    ".openpublishing.redirection.framework-winforms.json",
    ".openpublishing.redirection.framework-wpf.json",
    ".openpublishing.redirection.fsharp.json",
    ".openpublishing.redirection.fundamentals.json",
    ".openpublishing.redirection.machine-learning.json",
    ".openpublishing.redirection.navigate.json",
    ".openpublishing.redirection.orleans.json",
    ".openpublishing.redirection.standard.json",
    ".openpublishing.redirection.visual-basic.json"
  ],
  "need_generate_intellisense": false
}

---

## File: .openpublishing.redirection.ai.json

{
  "redirections": [
    {
      "source_path_from_root": "/docs/ai/advanced/sample-implementations.md",
      "redirect_url": "/dotnet/ai/ichatclient"
    },
    {
      "source_path_from_root": "/docs/ai/azure-ai-for-dotnet-developers.md",
      "redirect_url": "/dotnet/ai/resources/azure-ai"
    },
    {
      "source_path_from_root": "/docs/ai/ai-extensions.md",
      "redirect_url": "/dotnet/ai/microsoft-extensions-ai",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/conceptual/ai-tools.md",
      "redirect_url": "/dotnet/ai/conceptual/calling-tools"
    },
    {
      "source_path_from_root": "/docs/ai/conceptual/evaluation-libraries.md",
      "redirect_url": "/dotnet/ai/evaluation/libraries",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/conceptual/understanding-openai-functions.md",
      "redirect_url": "/dotnet/ai/conceptual/ai-tools",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/conceptual/vector-databases.md",
      "redirect_url": "/dotnet/ai/vector-stores/overview",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/get-started/dotnet-ai-overview.md",
      "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"
    },
    {
      "source_path_from_root": "/docs/ai/how-to/use-redis-for-memory.md",
      "redirect_url": "/dotnet/ai"
    },
    {
      "source_path_from_root": "/docs/ai/how-to/work-with-local-models.md",
      "redirect_url": "/dotnet/ai"
    },
    {
      "source_path_from_root": "/docs/ai/quickstarts/build-vector-search-app.md",
      "redirect_url": "/dotnet/ai/vector-stores/how-to/build-vector-search-app",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/quickstarts/evaluate-ai-response.md",
      "redirect_url": "/dotnet/ai/evaluation/evaluate-ai-response",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/quickstarts/get-started-azure-openai.md",
      "redirect_url": "/dotnet/ai/quickstarts/build-chat-app"
    },
    {
      "source_path_from_root": "/docs/ai/quickstarts/get-started-openai.md",
      "redirect_url": "/dotnet/ai/quickstarts/build-chat-app"
    },
    {
      "source_path_from_root": "/docs/ai/quickstarts/quickstart-ai-chat-with-data.md",
      "redirect_url": "/dotnet/ai/vector-stores/how-to/build-vector-search-app"
    },
    {
      "source_path_from_root": "/docs/ai/quickstarts/quickstart-assistants.md",
      "redirect_url": "/dotnet/ai/quickstarts/create-assistant",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/quickstarts/quickstart-azure-openai-tool.md",
      "redirect_url": "/dotnet/ai/quickstarts/use-function-calling"
    },
    {
      "source_path_from_root": "/docs/ai/quickstarts/quickstart-local-ai.md",
      "redirect_url": "/dotnet/ai/quickstarts/chat-local-model",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/quickstarts/quickstart-openai-generate-images.md",
      "redirect_url": "/dotnet/ai/quickstarts/generate-images",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/quickstarts/quickstart-openai-summarize-text.md",
      "redirect_url": "/dotnet/ai/quickstarts/prompt-model",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/resources/get-started.md",
      "redirect_url": "/dotnet/ai/overview"
    },
    {
      "source_path_from_root": "/docs/ai/semantic-kernel-dotnet-overview.md",
      "redirect_url": "/semantic-kernel/overview"
    },
    {
      "source_path_from_root": "/docs/ai/tutorials/llm-eval.md",
      "redirect_url": "/dotnet/ai/evaluation/evaluate-ai-response"
    },
    {
      "source_path_from_root": "/docs/ai/tutorials/evaluate-safety.md",
      "redirect_url": "/dotnet/ai/evaluation/evaluate-safety",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/tutorials/evaluate-with-reporting.md",
      "redirect_url": "/dotnet/ai/evaluation/evaluate-with-reporting",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/tutorials/tutorial-ai-vector-search.md",
      "redirect_url": "/dotnet/ai/vector-stores/tutorial-vector-search",
      "redirect_document_id": true
    },
    {
      "source_path_from_root": "/docs/ai/vector-stores/embedding-generation.md",
      "redirect_url": "/dotnet/ai/vector-stores/define-your-data-model#vector-properties-and-embedding-generation",
      "redirect_document_id": false
    },
    {
      "source_path_from_root": "/docs/ai/vector-stores/hybrid-search.md",
      "redirect_url": "/dotnet/ai/vector-stores/vector-search#hybrid-search",
      "redirect_document_id": false
    }
  ]
}

---

## File: .openpublishing.redirection.architecture.json

{
    "redirections": [
        {
            "source_path_from_root": "/docs/architecture/cloud-native/azure-data-storage.md",
            "redirect_url": "/dotnet/architecture/cloud-native/relational-vs-nosql-data"
        },
        {
            "source_path_from_root": "/docs/architecture/cloud-native/cloud-native-devops.md",
            "redirect_url": "/dotnet/architecture/cloud-native/devops"
        },
        {
            "source_path_from_root": "/docs/architecture/cloud-native/database-per-microservice.md",
            "redirect_url": "/dotnet/architecture/cloud-native/distributed-data"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/secrets.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/microservices/architect-microservice-container-applications/communication-between-microservices.md",
            "redirect_url": "/dotnet/architecture/microservices/architect-microservice-container-applications/communication-in-microservice-architecture",
            "redirect_document_id": true
        },
        {
            "source_path_from_root": "/docs/architecture/microservices/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-implemenation-entity-framework-core.md",
            "redirect_url": "/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-implementation-entity-framework-core"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/build-resilient-services-ready-for-the-cloud-embrace-transient-failures-in-the-cloud.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/deploy-existing-net-apps-as-windows-containers.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/how-to-deploy-existing-net-apps-to-azure-app-service.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/microsoft-technologies-in-cloud-devops-ready-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/migrate-to-hybrid-cloud-scenarios.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/modernize-your-apps-lifecycle-with-ci-cd-pipelines-and-devops-tools-in-the-cloud.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/modernize-your-apps-with-monitoring-and-telemetry.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/reasons-to-lift-and-shift-existing-net-apps-to-cloud-devops-ready-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/what-about-cloud-optimized-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/when-not-to-deploy-to-windows-containers.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-in-your-on-premises-iaas-vm-infrastructure.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-azure-container-service-kubernetes.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-azure-vms-iaas-cloud.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-service-fabric.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/modernize-your-apps-lifecycle-with-ci-cd-pipelines-and-devops-tools-in-the-cloud.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/build-aspnet-core-applications-linux-containers-aks-kubernetes.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/common-container-design-principles.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/deploy-azure-kubernetes-service.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/design-docker-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/docker-apps-development-environment.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/docker-apps-inner-loop-workflow.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/monolithic-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/orchestrate-high-scalability-availability.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/set-up-windows-containers-with-powershell.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/soa-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/state-and-data-in-docker-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/design-develop-containerized-apps/visual-studio-tools-for-docker.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-application-lifecycle/containers-foundation-for-devops-collaboration.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-application-lifecycle/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-containers-images-and-registries.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-devops-workflow/create-ci-cd-pipelines-azure-devops-services-aspnetcore-kubernetes.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-devops-workflow/docker-application-outer-loop-devops-workflow.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-devops-workflow/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/docker-terminology.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/includes/download-alert.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/introduction-to-containers-and-docker.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/key-takeaways/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/Microsoft-platform-tools-containerized-apps/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/road-to-modern-applications-based-on-containers.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/run-manage-monitor-docker-environments/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/run-manage-monitor-docker-environments/manage-production-docker-environments.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/run-manage-monitor-docker-environments/monitor-containerized-application-services.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/run-manage-monitor-docker-environments/run-microservices-based-applications-in-production.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/containerized-lifecycle/what-is-docker.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/containerized-lifecycle/Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/actors.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/bindings.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/dapr-at-20000-feet.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/foreword.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/getting-started.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/includes/download-alert.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/observability.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/publish-subscribe.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/reference-application.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/sample-application.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/secrets-management.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/service-invocation.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/state-management.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/summary.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/dapr-for-net-developers/the-world-is-distributed.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/appendix.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/application-performance-management.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/approach.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/call-credentials.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/channel-credentials.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/client-libraries.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/create-project.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/docker.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/encryption.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/error-handling.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/grpc-in-production.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/grpc-overview.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/includes/download-alert.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/interface-definition-language.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/introduction.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/kubernetes.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/load-balancing.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/metadata.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/migrate-duplex-services.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/migrate-request-reply.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/migrate-wcf-to-grpc.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/network-protocols.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-any-oneof.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-data-types.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-enums.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-maps.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-messages.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-nested-types.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-repeated.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protobuf-reserved.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/protocol-buffers.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/rpc-types.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/security.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/self-hosted.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/service-mesh.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/streaming-versus-repeated.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/wcf-bindings.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/wcf-endpoints-grpc-methods.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/wcf-services-to-grpc-comparison.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/why-grpc.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/grpc-for-wcf-developers/ws-protocols.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/additional-migration-resources.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/app-startup-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/architectural-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/authentication-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/choose-net-core-version.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/comparing-razor-pages-aspnet-mvc.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/configuration-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/controller-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/dependency-injection-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/deployment-scenarios.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/deployment-strategies.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/example-migration-eshop.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/hosting-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/identify-migration-sequence.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/identity-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/includes/download-alert.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/incremental-migration-strategies.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/introduction.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/logging-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/middleware-modules-handlers.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/migrate-aspnet-core-2-1.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/migrate-large-solutions.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/migrate-web-forms.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/migration-considerations.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/more-migration-scenarios.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/razor-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/routing-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/serving-static-files.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/signalr-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/strategies-migrating-in-production.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/summary.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/testing-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/understand-update-dependencies.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/porting-existing-aspnet-apps/webapi-differences.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/porting-existing-aspnet-apps/Porting-Existing-ASP.NET-Apps-to-.NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/application-insights.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/architecture-approaches.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/architecture-deployment-approaches.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/azure-functions.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/azure-serverless-platform.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/durable-azure-functions.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/event-grid.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/includes/download-alert.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/logic-apps.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/orchestration-patterns.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/serverless-architecture-considerations.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/serverless-architecture.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/serverless-business-scenarios.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/serverless-conclusion.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/serverless/serverless-design-examples.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/serverless/Serverless-apps-Architecture-patterns-and-Azure-implementation.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/actions-build.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/actions-codeql.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/actions-deploy.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/actions-index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/actions-vs-pipelines.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/cicd.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/deploying-to-app-service.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/includes/download-alert.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/monitoring.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/next-steps.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/devops-for-aspnet-developers/tools-and-downloads.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/conclusions.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/includes/download-alert.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/lift-and-shift-existing-apps-azure-iaas.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/migrate-your-relational-databases-to-azure.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/build-resilient-services-ready-for-the-cloud-embrace-transient-failures-in-the-cloud.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/choosing-azure-compute-options-for-container-based-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/deploy-existing-net-apps-as-windows-containers.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/life-cycle-ci-cd-pipelines-devops-tools.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/microsoft-technologies-in-cloud-optimized-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/migrate-to-hybrid-cloud-scenarios.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/modernize-your-apps-with-monitoring-and-telemetry.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/reasons-to-modernize-existing-net-apps-to-cloud-optimized-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/what-about-cloud-native-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/when-not-to-deploy-to-windows-containers.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/when-to-deploy-windows-containers-in-your-on-premises-iaas-vm-infrastructure.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/when-to-deploy-windows-containers-to-azure-container-instances-ACI.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/when-to-deploy-windows-containers-to-azure-container-service-kubernetes.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/modernize-existing-apps-to-cloud-optimized/when-to-deploy-windows-containers-to-azure-vms-iaas-cloud.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-with-azure-containers/walkthroughs-technical-get-started-overview.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-with-azure-containers/Modernize-Existing-.NET-applications-with-Azure-cloud-and-Windows-Containers.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-desktop/deploy-modern-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-desktop/example-migration.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-desktop/includes/download-alert.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-desktop/index.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-desktop/migrate-modern-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-desktop/whats-new-dotnet.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-desktop/why-modern-applications.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/modernize-desktop/windows-migration.md",
            "redirect_url": "https://github.com/dotnet-architecture/eBooks/blob/1ed30275281b9060964fcb2a4c363fe7797fe3f3/current/modernize-desktop-apps/Modernize-Desktop-Apps-on-Windows-with-NET.pdf"
        },
        {
            "source_path_from_root": "/docs/architecture/maui/configuration-management.md",
            "redirect_url": "/dotnet/architecture/maui/app-settings-management"
        }
    ]
}

---

## File: .openpublishing.redirection.aspire.json

{
  "redirections": [
    {
      "source_path_from_root": "/docs/aspire/index.yml",
      "redirect_url": "https://aspire.dev/"
    },
    {
      "source_path_from_root": "/docs/aspire/storage/quickstart-azure-storage.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-storage-blobs/"
    },
    {
      "source_path_from_root": "/docs/aspire/storage/azure-storage.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-storage-blobs/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/quickstart-sql-server.md",
      "redirect_url": "https://aspire.dev/integrations/databases/sql-server/"
    },
    {
      "source_path_from_root": "/docs/aspire/get-started/quickstart-build-your-first-aspire-app.md",
      "redirect_url": "https://aspire.dev/get-started/first-app/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/quickstart-messaging.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-service-bus/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/quickstart-caching.md",
      "redirect_url": "https://aspire.dev/integrations/caching/redis/"
    },
    {
      "source_path_from_root": "/docs/aspire/app-host-overview.md",
      "redirect_url": "https://aspire.dev/get-started/app-host/"
    },
    {
      "source_path_from_root": "/docs/aspire/components-overview.md",
      "redirect_url": "https://aspire.dev/integrations/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/dashboard.md",
      "redirect_url": "https://aspire.dev/dashboard/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/health-checks.md",
      "redirect_url": "https://aspire.dev/fundamentals/health-checks/"
    },
    {
      "source_path_from_root": "/docs/aspire/service-defaults.md",
      "redirect_url": "https://aspire.dev/fundamentals/service-defaults/"
    },
    {
      "source_path_from_root": "/docs/aspire/setup-tooling.md",
      "redirect_url": "https://aspire.dev/get-started/prerequisites/"
    },
    {
      "source_path_from_root": "/docs/aspire/telemetry.md",
      "redirect_url": "https://aspire.dev/fundamentals/telemetry/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/k8s-deployment.md",
      "redirect_url": "https://prom3theu5.github.io/aspirational-manifests/getting-started.html"
    },
    {
      "source_path_from_root": "/docs/aspire/openai/azureai-openai-component.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-openai/"
    },
    {
      "source_path_from_root": "/docs/aspire/azureai/azureai-openai-component.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-openai/"
    },
    {
      "source_path_from_root": "/docs/aspire/troubleshooting/allowunsecuredtransport.md",
      "redirect_url": "https://aspire.dev/app-host/configuration/#common-configuration"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dashboard.md",
      "redirect_url": "https://aspire.dev/dashboard/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/preview-3.md",
      "redirect_url": "https://aspire.dev/docs/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/preview-4.md",
      "redirect_url": "https://aspire.dev/docs/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/preview-5.md",
      "redirect_url": "https://aspire.dev/docs/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/preview-6.md",
      "redirect_url": "https://aspire.dev/docs/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/preview-7.md",
      "redirect_url": "https://aspire.dev/docs/"
    },
    {
      "source_path_from_root": "/docs/aspire/authentication/keycloak-component.md",
      "redirect_url": "https://aspire.dev/integrations/security/keycloak/"
    },
    {
      "source_path_from_root": "/docs/aspire/azureai/azureai-search-document-component.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-ai-search/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/caching-components-deployment.md",
      "redirect_url": "https://aspire.dev/integrations/caching/redis/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/caching-components.md",
      "redirect_url": "https://aspire.dev/integrations/caching/redis/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/stackexchange-redis-component.md",
      "redirect_url": "https://aspire.dev/integrations/caching/redis/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/stackexchange-redis-distributed-caching-component.md",
      "redirect_url": "https://aspire.dev/integrations/caching/redis-distributed/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/stackexchange-redis-output-caching-component.md",
      "redirect_url": "https://aspire.dev/integrations/caching/redis-output/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/azure-cosmos-db-component.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-cosmos-db/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/azure-cosmos-db-entity-framework-component.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-cosmos-db/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/milvus-component.md",
      "redirect_url": "https://aspire.dev/integrations/databases/milvus/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/mongodb-component.md",
      "redirect_url": "https://aspire.dev/integrations/databases/mongodb/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/mysql-component.md",
      "redirect_url": "https://aspire.dev/integrations/databases/mysql/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/mysql-entity-framework-component.md",
      "redirect_url": "https://aspire.dev/integrations/databases/mysql-ef/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/oracle-entity-framework-component.md",
      "redirect_url": "https://aspire.dev/integrations/databases/oracle-ef/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/postgresql-component.md",
      "redirect_url": "https://aspire.dev/integrations/databases/postgres/postgres-get-started/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/postgresql-entity-framework-component.md",
      "redirect_url": "https://aspire.dev/integrations/databases/efcore/postgresql/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/qdrant-component.md",
      "redirect_url": "https://aspire.dev/integrations/databases/qdrant/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/sql-server-component-deployment.md",
      "redirect_url": "https://aspire.dev/integrations/databases/sql-server/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/sql-server-component.md",
      "redirect_url": "https://aspire.dev/integrations/databases/sql-server/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/sql-server-components.md",
      "redirect_url": "https://aspire.dev/integrations/databases/sql-server/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/sql-server-entity-framework-component.md",
      "redirect_url": "https://aspire.dev/integrations/databases/sql-server/"
    },
    {
      "source_path_from_root": "/docs/aspire/extensibility/custom-component.md",
      "redirect_url": "https://aspire.dev/integrations/custom-integrations/client-integrations/"
    },
    {
      "source_path_from_root": "/docs/aspire/extensibility/implement-auth-from-resource-to-component.md",
      "redirect_url": "https://aspire.dev/integrations/custom-integrations/secure-communication/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/components-overview.md",
      "redirect_url": "https://aspire.dev/integrations/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/includes/component-health-checks.md",
      "redirect_url": "https://aspire.dev/fundamentals/health-checks/"
    },
    {
      "source_path_from_root": "/docs/aspire/includes/component-observability-and-telemetry.md",
      "redirect_url": "https://aspire.dev/fundamentals/telemetry/"
    },
    {
      "source_path_from_root": "/docs/aspire/logging/seq-component.md",
      "redirect_url": "https://aspire.dev/integrations/observability/seq/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/azure-event-hubs-component.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-event-hubs/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/azure-service-bus-component.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-service-bus/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/azure-web-pubsub-component.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-web-pubsub/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/kafka-component.md",
      "redirect_url": "https://aspire.dev/integrations/messaging/apache-kafka/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/messaging-components.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-service-bus/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/nats-component.md",
      "redirect_url": "https://aspire.dev/integrations/messaging/nats/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/rabbitmq-client-component.md",
      "redirect_url": "https://aspire.dev/integrations/messaging/rabbitmq/"
    },
    {
      "source_path_from_root": "/docs/aspire/search/elasticsearch-component.md",
      "redirect_url": "https://aspire.dev/integrations/databases/elasticsearch/"
    },
    {
      "source_path_from_root": "/docs/aspire/security/azure-security-key-vault-component.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-key-vault/"
    },
    {
      "source_path_from_root": "/docs/aspire/storage/azure-storage-components.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-storage-blobs/"
    },
    {
      "source_path_from_root": "/docs/aspire/storage/azure-storage-blobs-component.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-storage-blobs/"
    },
    {
      "source_path_from_root": "/docs/aspire/storage/azure-storage-queues-component.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-storage-queues/"
    },
    {
      "source_path_from_root": "/docs/aspire/storage/azure-storage-tables-component.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-storage-tables/"
    },
    {
      "source_path_from_root": "/docs/aspire/extensibility/custom-resources.md",
      "redirect_url": "https://aspire.dev/integrations/custom-integrations/hosting-integrations/"
    },
    {
      "source_path_from_root": "/docs/aspire/extensibility/custom-integration.md",
      "redirect_url": "https://aspire.dev/integrations/custom-integrations/client-integrations/"
    },
    {
      "source_path_from_root": "/docs/aspire/extensibility/implement-auth-from-resource-to-integration.md",
      "redirect_url": "https://aspire.dev/integrations/custom-integrations/secure-communication/"
    },
    {
      "source_path_from_root": "/docs/aspire/extensibility/custom-hosting-integration.md",
      "redirect_url": "https://aspire.dev/integrations/custom-integrations/hosting-integrations/"
    },
    {
      "source_path_from_root": "/docs/aspire/extensibility/custom-client-integration.md",
      "redirect_url": "https://aspire.dev/integrations/custom-integrations/client-integrations/"
    },
    {
      "source_path_from_root": "/docs/aspire/extensibility/secure-communication-between-integrations.md",
      "redirect_url": "https://aspire.dev/integrations/custom-integrations/secure-communication/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/rabbitmq-client-integration.md",
      "redirect_url": "https://aspire.dev/integrations/messaging/rabbitmq/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/testing.md",
      "redirect_url": "https://aspire.dev/testing/write-your-first-test/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/dotnet-aspire-9-release-candidate-1.md",
      "redirect_url": "https://aspire.dev/whats-new/aspire-13/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/azure/custom-bicep-templates.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/azure/local-provisioning.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure-local-provisioning/"
    },
    {
      "source_path_from_root": "/docs/aspire/frameworks/dapr.md",
      "redirect_url": "https://aspire.dev/integrations/frameworks/dapr/"
    },
    {
      "source_path_from_root": "/docs/aspire/troubleshooting/unable-to-install-workload.md",
      "redirect_url": "https://aspire.dev/whats-new/upgrade-aspire/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/azure/aca-deployment-aspire-cli.md",
      "redirect_url": "https://aspire.dev/deployment/azure/aca-deployment-aspire-cli/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/azure/aca-deployment-visual-studio.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/configure-container-apps/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/azure/azure-security-best-practices.md",
      "redirect_url": "https://aspire.dev/deployment/azure/azure-security-best-practices/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/azure/application-insights.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/sql-server-integration-deployment.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-sql-database/azure-sql-database-get-started/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/caching-integrations-deployment.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-cache-redis/azure-cache-redis-get-started/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/azure/aca-deployment.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/configure-container-apps/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/azure/aca-deployment-azd-in-depth.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/configure-container-apps/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/azure/aca-deployment-github-actions.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/configure-container-apps/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/azure/customize-deployments.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/customize-resources/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/build-container-images.md",
      "redirect_url": "https://aspire.dev/deployment/custom-deployments/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/aspire-deploy/local-deployment-state.md",
      "redirect_url": "https://aspire.dev/deployment/deployment-state-caching/"
    },
    {
      "source_path_from_root": "/docs/aspire/get-started/upgrade-to-aspire-9.md",
      "redirect_url": "https://aspire.dev/whats-new/upgrade-aspire/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dashboard/overview.md",
      "redirect_url": "https://aspire.dev/dashboard/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dashboard/explore.md",
      "redirect_url": "https://aspire.dev/dashboard/explore/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dashboard/copilot.md",
      "redirect_url": "https://aspire.dev/dashboard/copilot/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dashboard/mcp-server.md",
      "redirect_url": "https://aspire.dev/dashboard/mcp-server/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dashboard/standalone.md",
      "redirect_url": "https://aspire.dev/dashboard/standalone/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dashboard/standalone-for-python.md",
      "redirect_url": "https://aspire.dev/dashboard/standalone-for-python/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dashboard/standalone-for-nodejs.md",
      "redirect_url": "https://aspire.dev/dashboard/standalone-for-nodejs/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dashboard/configuration.md",
      "redirect_url": "https://aspire.dev/dashboard/configuration/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dashboard/security-considerations.md",
      "redirect_url": "https://aspire.dev/dashboard/security-considerations/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dashboard/enable-browser-telemetry.md",
      "redirect_url": "https://aspire.dev/dashboard/enable-browser-telemetry/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dashboard/microsoft-collected-dashboard-telemetry.md",
      "redirect_url": "https://aspire.dev/dashboard/microsoft-collected-dashboard-telemetry/"
    },
    {
      "source_path_from_root": "/docs/aspire/testing/overview.md",
      "redirect_url": "https://aspire.dev/testing/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/testing/write-your-first-test.md",
      "redirect_url": "https://aspire.dev/testing/write-your-first-test/"
    },
    {
      "source_path_from_root": "/docs/aspire/testing/manage-app-host.md",
      "redirect_url": "https://aspire.dev/testing/manage-app-host/"
    },
    {
      "source_path_from_root": "/docs/aspire/testing/accessing-resources.md",
      "redirect_url": "https://aspire.dev/testing/accessing-resources/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/caching-integrations.md",
      "redirect_url": "https://aspire.dev/integrations/caching/redis/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/stackexchange-redis-caching-overview.md",
      "redirect_url": "https://aspire.dev/integrations/caching/redis/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/stackexchange-redis-integration.md",
      "redirect_url": "https://aspire.dev/integrations/caching/redis/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/stackexchange-redis-distributed-caching-integration.md",
      "redirect_url": "https://aspire.dev/integrations/caching/redis-distributed/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/stackexchange-redis-output-caching-integration.md",
      "redirect_url": "https://aspire.dev/integrations/caching/redis-output/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/azure-cache-for-redis-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-cache-redis/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/azure-redis-enterprise-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-cache-redis/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/azure-cache-for-redis-distributed-caching-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-cache-redis/"
    },
    {
      "source_path_from_root": "/docs/aspire/caching/azure-cache-for-redis-output-caching-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-cache-redis/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/sql-server-integrations.md",
      "redirect_url": "https://aspire.dev/integrations/databases/sql-server/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/sql-server-integration.md",
      "redirect_url": "https://aspire.dev/integrations/databases/sql-server/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/sql-server-entity-framework-integration.md",
      "redirect_url": "https://aspire.dev/integrations/databases/sql-server/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/connect-to-existing-database.md",
      "redirect_url": "https://aspire.dev/integrations/databases/sql-server/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/entity-framework-core-integration-overview.md",
      "redirect_url": "https://aspire.dev/integrations/databases/efcore/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/ef-core-migrations.md",
      "redirect_url": "https://aspire.dev/integrations/databases/efcore/migrations/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/seed-database-data.md",
      "redirect_url": "https://aspire.dev/integrations/databases/efcore/seed-database/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/azure-cosmos-db-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-cosmos-db/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/azure-cosmos-db-entity-framework-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-cosmos-db/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/azure-postgresql-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-postgresql/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/azure-postgresql-entity-framework-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-postgresql/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/azure-sql-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-sql-database/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/azure-sql-entity-framework-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-sql-database/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/mysql-integration.md",
      "redirect_url": "https://aspire.dev/integrations/databases/mysql/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/mysql-entity-framework-integration.md",
      "redirect_url": "https://aspire.dev/integrations/databases/mysql-ef/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/oracle-entity-framework-integration.md",
      "redirect_url": "https://aspire.dev/integrations/databases/oracle-ef/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/postgresql-integration.md",
      "redirect_url": "https://aspire.dev/integrations/databases/postgres/postgres-get-started/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/postgresql-entity-framework-integration.md",
      "redirect_url": "https://aspire.dev/integrations/databases/efcore/postgresql/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/milvus-integration.md",
      "redirect_url": "https://aspire.dev/integrations/databases/milvus/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/mongodb-integration.md",
      "redirect_url": "https://aspire.dev/integrations/databases/mongodb/"
    },
    {
      "source_path_from_root": "/docs/aspire/database/qdrant-integration.md",
      "redirect_url": "https://aspire.dev/integrations/databases/qdrant/"
    },
    {
      "source_path_from_root": "/docs/aspire/storage/azure-storage-integrations.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-storage-blobs/"
    },
    {
      "source_path_from_root": "/docs/aspire/storage/azure-storage-blobs-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-storage-blobs/"
    },
    {
      "source_path_from_root": "/docs/aspire/storage/azure-storage-queues-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-storage-queues/"
    },
    {
      "source_path_from_root": "/docs/aspire/storage/azure-storage-tables-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-storage-tables/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/messaging-integrations.md",
      "redirect_url": "https://aspire.dev/integrations/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/kafka-integration.md",
      "redirect_url": "https://aspire.dev/integrations/messaging/apache-kafka/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/azure-event-hubs-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-event-hubs/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/azure-service-bus-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-service-bus/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/azure-web-pubsub-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-web-pubsub/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/nats-integration.md",
      "redirect_url": "https://aspire.dev/integrations/messaging/nats/"
    },
    {
      "source_path_from_root": "/docs/aspire/messaging/rabbitmq-integration.md",
      "redirect_url": "https://aspire.dev/integrations/messaging/rabbitmq/"
    },
    {
      "source_path_from_root": "/docs/aspire/azure/integrations-overview.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/"
    },
    {
      "source_path_from_root": "/docs/aspire/azure/customize-azure-resources.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/customize-resources/"
    },
    {
      "source_path_from_root": "/docs/aspire/azure/local-provisioning.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure-local-provisioning/"
    },
    {
      "source_path_from_root": "/docs/aspire/azure/configure-aca-environments.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/configure-container-apps/"
    },
    {
      "source_path_from_root": "/docs/aspire/azure/container-app-jobs.md",
      "redirect_url": "https://aspire.dev/integrations/compute/azure-container-app-jobs/"
    },
    {
      "source_path_from_root": "/docs/aspire/azure/user-assigned-managed-identity.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure-managed-identity/"
    },
    {
      "source_path_from_root": "/docs/aspire/azure/role-assignments.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure-role-assignments/"
    },
    {
      "source_path_from_root": "/docs/aspire/azure/azure-app-configuration-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-app-configuration/"
    },
    {
      "source_path_from_root": "/docs/aspire/azure/azure-app-service-integration.md",
      "redirect_url": "https://aspire.dev/integrations/compute/azure-app-service/"
    },
    {
      "source_path_from_root": "/docs/aspire/azure/container-registry-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-container-registry/"
    },
    {
      "source_path_from_root": "/docs/aspire/azureai/azureai-foundry-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-ai-foundry/"
    },
    {
      "source_path_from_root": "/docs/aspire/azureai/azureai-inference-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-ai-inference/"
    },
    {
      "source_path_from_root": "/docs/aspire/azureai/azureai-search-document-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-ai-search/"
    },
    {
      "source_path_from_root": "/docs/aspire/azureai/ai-integrations-compatibility-matrix.md",
      "redirect_url": "https://aspire.dev/integrations/ai/ai-compatibility/"
    },
    {
      "source_path_from_root": "/docs/aspire/azureai/azureai-openai-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-openai/"
    },
    {
      "source_path_from_root": "/docs/aspire/serverless/functions.md",
      "redirect_url": "https://aspire.dev/integrations/compute/azure-functions/"
    },
    {
      "source_path_from_root": "/docs/aspire/security/azure-security-key-vault-integration.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-key-vault/"
    },
    {
      "source_path_from_root": "/docs/aspire/real-time/azure-signalr-scenario.md",
      "redirect_url": "https://aspire.dev/integrations/cloud/azure/azure-signalr/"
    },
    {
      "source_path_from_root": "/docs/aspire/search/elasticsearch-integration.md",
      "redirect_url": "https://aspire.dev/integrations/databases/elasticsearch/"
    },
    {
      "source_path_from_root": "/docs/aspire/authentication/keycloak-integration.md",
      "redirect_url": "https://aspire.dev/integrations/security/keycloak/"
    },
    {
      "source_path_from_root": "/docs/aspire/github/github-models-integration.md",
      "redirect_url": "https://aspire.dev/integrations/ai/github-models/"
    },
    {
      "source_path_from_root": "/docs/aspire/openai/openai-integration.md",
      "redirect_url": "https://aspire.dev/integrations/ai/openai/"
    },
    {
      "source_path_from_root": "/docs/aspire/frameworks/orleans.md",
      "redirect_url": "https://aspire.dev/integrations/frameworks/orleans/"
    },
    {
      "source_path_from_root": "/docs/aspire/logging/seq-integration.md",
      "redirect_url": "https://aspire.dev/integrations/observability/seq/"
    },
    {
      "source_path_from_root": "/docs/aspire/proxies/yarp-integration.md",
      "redirect_url": "https://aspire.dev/integrations/reverse-proxies/yarp/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/overview.md",
      "redirect_url": "https://aspire.dev/integrations/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/dapr.md",
      "redirect_url": "https://aspire.dev/integrations/frameworks/dapr/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-bun.md",
      "redirect_url": "https://aspire.dev/integrations/frameworks/bun-apps/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-data-api-builder.md",
      "redirect_url": "https://aspire.dev/integrations/devtools/dab/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-deno.md",
      "redirect_url": "https://aspire.dev/integrations/frameworks/deno-apps/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-eventstore.md",
      "redirect_url": "https://aspire.dev/integrations/databases/kurrentdb/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-flagd.md",
      "redirect_url": "https://aspire.dev/integrations/devtools/flagd/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-golang.md",
      "redirect_url": "https://aspire.dev/integrations/frameworks/go-apps/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-java.md",
      "redirect_url": "https://aspire.dev/integrations/frameworks/java/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-lavinmq.md",
      "redirect_url": "https://aspire.dev/integrations/messaging/lavinmq/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-mailpit.md",
      "redirect_url": "https://aspire.dev/integrations/devtools/mailpit/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-meilisearch.md",
      "redirect_url": "https://aspire.dev/integrations/databases/meilisearch/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-mongodb-extensions.md",
      "redirect_url": "https://aspire.dev/integrations/databases/mongodb-extensions/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-mysql-extensions.md",
      "redirect_url": "https://aspire.dev/integrations/databases/mysql-extensions/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-nodejs-extensions.md",
      "redirect_url": "https://aspire.dev/integrations/frameworks/nodejs-extensions/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-postgresql-extensions.md",
      "redirect_url": "https://aspire.dev/integrations/databases/postgresql-extensions/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-python-extensions.md",
      "redirect_url": "https://aspire.dev/integrations/frameworks/python/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-redis-extensions.md",
      "redirect_url": "https://aspire.dev/integrations/caching/redis-extensions/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-rust.md",
      "redirect_url": "https://aspire.dev/integrations/frameworks/rust/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-sql-database-projects.md",
      "redirect_url": "https://aspire.dev/integrations/devtools/sql-projects/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/hosting-sqlserver-extensions.md",
      "redirect_url": "https://aspire.dev/integrations/databases/sql-server-extensions/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/ollama.md",
      "redirect_url": "https://aspire.dev/integrations/ai/ollama/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/ravendb.md",
      "redirect_url": "https://aspire.dev/integrations/databases/ravendb/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/sqlite.md",
      "redirect_url": "https://aspire.dev/integrations/databases/sqlite/"
    },
    {
      "source_path_from_root": "/docs/aspire/community-toolkit/sqlite-entity-framework-integration.md",
      "redirect_url": "https://aspire.dev/integrations/databases/sqlite/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/overview.md",
      "redirect_url": "https://aspire.dev/diagnostics/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspire001.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspire001/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspire002.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspire002/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspire003.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspire003/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspire004.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspire004/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspire006.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspire006/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspire007.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspire007/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspire008.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspire008/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspireacadomains001.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspireacadomains001/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspirecompute001.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspirecompute001/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspirecosmosdb001.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspirecosmosdb001/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspirehostingpython001.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspirehostingpython001/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspirepipelines001.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspirepipelines001/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspirepipelines002.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspirepipelines002/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspirepipelines003.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspirepipelines003/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspireproxyendpoints001.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspireproxyendpoints001/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspirepublishers001.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspirepublishers001/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspireazure001.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspireazure001/"
    },
    {
      "source_path_from_root": "/docs/aspire/diagnostics/aspireazure002.md",
      "redirect_url": "https://aspire.dev/diagnostics/aspireazure002/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/health-checks.md",
      "redirect_url": "https://aspire.dev/fundamentals/health-checks/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/service-defaults.md",
      "redirect_url": "https://aspire.dev/fundamentals/service-defaults/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/launch-profiles.md",
      "redirect_url": "https://aspire.dev/fundamentals/launch-profiles/"
    },
    {
      "source_path_from_root": "/docs/aspire/service-discovery/overview.md",
      "redirect_url": "https://aspire.dev/fundamentals/service-discovery/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/annotations-overview.md",
      "redirect_url": "https://aspire.dev/fundamentals/annotations-overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/app-host/configuration.md",
      "redirect_url": "https://aspire.dev/app-host/configuration/"
    },
    {
      "source_path_from_root": "/docs/aspire/app-host/certificate-trust.md",
      "redirect_url": "https://aspire.dev/app-host/certificate-trust/"
    },
    {
      "source_path_from_root": "/docs/aspire/app-host/eventing.md",
      "redirect_url": "https://aspire.dev/app-host/eventing/"
    },
    {
      "source_path_from_root": "/docs/aspire/app-host/persistent-containers.md",
      "redirect_url": "https://aspire.dev/app-host/persistent-containers/"
    },
    {
      "source_path_from_root": "/docs/aspire/app-host/withdockerfile.md",
      "redirect_url": "https://aspire.dev/app-host/withdockerfile/"
    },
    {
      "source_path_from_root": "/docs/aspire/app-host/executable-resources.md",
      "redirect_url": "https://aspire.dev/app-host/executable-resources/"
    },
    {
      "source_path_from_root": "/docs/aspire/get-started/add-aspire-existing-app.md",
      "redirect_url": "https://aspire.dev/get-started/add-aspire-existing-app/"
    },
    {
      "source_path_from_root": "/docs/aspire/get-started/aspire-overview.md",
      "redirect_url": "https://aspire.dev/get-started/what-is-aspire/"
    },
    {
      "source_path_from_root": "/docs/aspire/get-started/build-your-first-aspire-app.md",
      "redirect_url": "https://aspire.dev/get-started/first-app/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/app-host-overview.md",
      "redirect_url": "https://aspire.dev/get-started/app-host/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire-add.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire-add/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire-config.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire-config/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire-config-list.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire-config-list/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire-config-get.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire-config-get/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire-config-set.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire-config-set/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire-config-delete.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire-config-delete/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire-deploy.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire-deploy/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire-exec.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire-exec/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire-new.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire-new/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire-publish.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire-publish/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire-run.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire-run/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli-reference/aspire-update.md",
      "redirect_url": "https://aspire.dev/reference/cli/commands/aspire-update/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli/overview.md",
      "redirect_url": "https://aspire.dev/reference/cli/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli/install.md",
      "redirect_url": "https://aspire.dev/reference/cli/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli/config-settings.md",
      "redirect_url": "https://aspire.dev/reference/cli/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/cli/install-script-reference.md",
      "redirect_url": "https://aspire.dev/reference/cli/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/overview.md",
      "redirect_url": "https://aspire.dev/deployment/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/custom-deployments.md",
      "redirect_url": "https://aspire.dev/deployment/custom-deployments/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/deployment-state-caching.md",
      "redirect_url": "https://aspire.dev/deployment/deployment-state-caching/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/manifest-format.md",
      "redirect_url": "https://aspire.dev/deployment/manifest-format/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/aspire-deploy/aca-deployment-aspire-cli.md",
      "redirect_url": "https://aspire.dev/deployment/azure/aca-deployment-aspire-cli/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/aspire-deploy/azure-security-best-practices.md",
      "redirect_url": "https://aspire.dev/deployment/azure/azure-security-best-practices/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/external-parameters.md",
      "redirect_url": "https://aspire.dev/fundamentals/external-parameters/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/persist-data-volumes.md",
      "redirect_url": "https://aspire.dev/fundamentals/persist-data-volumes/"
    },
    {
      "source_path_from_root": "/docs/aspire/extensibility/interaction-service.md",
      "redirect_url": "https://aspire.dev/extensibility/interaction-service/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/networking-overview.md",
      "redirect_url": "https://aspire.dev/fundamentals/networking-overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/custom-resource-commands.md",
      "redirect_url": "https://aspire.dev/fundamentals/custom-resource-commands/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/http-commands.md",
      "redirect_url": "https://aspire.dev/fundamentals/http-commands/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/custom-resource-urls.md",
      "redirect_url": "https://aspire.dev/fundamentals/custom-resource-urls/"
    },
    {
      "source_path_from_root": "/docs/aspire/get-started/build-aspire-apps-with-python.md",
      "redirect_url": "https://aspire.dev/get-started/first-app/?lang=python"
    },
    {
      "source_path_from_root": "/docs/aspire/get-started/build-aspire-apps-with-nodejs.md",
      "redirect_url": "https://aspire.dev/integrations/frameworks/javascript/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/integrations-overview.md",
      "redirect_url": "https://aspire.dev/integrations/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/reference/aspire-faq.yml",
      "redirect_url": "https://discord.com/invite/h87kDAHQgJ"
    },
    {
      "source_path_from_root": "/docs/aspire/architecture/overview.md",
      "redirect_url": "https://aspire.dev/architecture/overview/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/telemetry.md",
      "redirect_url": "https://aspire.dev/fundamentals/telemetry/"
    },
    {
      "source_path_from_root": "/docs/aspire/get-started/migrate-from-docker-compose.md",
      "redirect_url": "https://aspire.dev/app-host/migrate-from-docker-compose/"
    },
    {
      "source_path_from_root": "/docs/aspire/get-started/docker-compose-to-apphost-reference.md",
      "redirect_url": "https://aspire.dev/app-host/docker-compose-to-apphost-reference/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/dotnet-aspire-9.md",
      "redirect_url": "https://aspire.dev/whats-new/aspire-13/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/dotnet-aspire-9.1.md",
      "redirect_url": "https://aspire.dev/whats-new/aspire-13-1/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/dotnet-aspire-9.2.md",
      "redirect_url": "https://aspire.dev/whats-new/aspire-13-1/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/dotnet-aspire-9.3.md",
      "redirect_url": "https://aspire.dev/whats-new/aspire-13-1/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/dotnet-aspire-9.4.md",
      "redirect_url": "https://aspire.dev/whats-new/aspire-13-1/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/dotnet-aspire-9.5.md",
      "redirect_url": "https://aspire.dev/whats-new/aspire-13-1/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/dotnet-docs-aspire-mod0.md",
      "redirect_url": "https://aspire.dev/whats-new/aspire-13-1/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/dotnet-docs-aspire-mod1.md",
      "redirect_url": "https://aspire.dev/whats-new/aspire-13-1/"
    },
    {
      "source_path_from_root": "/docs/aspire/whats-new/dotnet-docs-aspire-mod2.md",
      "redirect_url": "https://aspire.dev/whats-new/aspire-13-1/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/setup-tooling.md",
      "redirect_url": "https://aspire.dev/get-started/prerequisites/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/dotnet-aspire-sdk.md",
      "redirect_url": "https://aspire.dev/get-started/aspire-sdk/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/aspire-sdk-templates.md",
      "redirect_url": "https://aspire.dev/get-started/aspire-sdk-templates/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/aspire-vscode-extension.md",
      "redirect_url": "https://aspire.dev/get-started/aspire-vscode-extension/"
    },
    {
      "source_path_from_root": "/docs/aspire/get-started/github-codespaces.md",
      "redirect_url": "https://aspire.dev/get-started/github-codespaces/"
    },
    {
      "source_path_from_root": "/docs/aspire/get-started/dev-containers.md",
      "redirect_url": "https://aspire.dev/get-started/dev-containers/"
    },
    {
      "source_path_from_root": "/docs/aspire/fundamentals/orchestrate-resources.md",
      "redirect_url": "https://aspire.dev/get-started/orchestrate-resources/"
    },
    {
      "source_path_from_root": "/docs/aspire/extensibility/dev-tunnels-integration.md",
      "redirect_url": "https://aspire.dev/integrations/devtools/dev-tunnels/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/docker-integration.md",
      "redirect_url": "https://aspire.dev/integrations/compute/docker/"
    },
    {
      "source_path_from_root": "/docs/aspire/deployment/kubernetes-integration.md",
      "redirect_url": "https://aspire.dev/integrations/compute/kubernetes/"
    }
  ]
}

---

## File: .openpublishing.redirection.azure.json

{
    "redirections": [
        {
            "source_path_from_root": "/docs/azure/dotnet-howto-choose-migration.md",
            "redirect_url": "/dotnet/azure/migration/choose"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-howto-migrate-app-service.md",
            "redirect_url": "/dotnet/azure/migration/app-service"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-howto-migrate-sql.md",
            "redirect_url": "/dotnet/azure/migration/sql"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-howto-migrate-vm.md",
            "redirect_url": "/dotnet/azure/migration/vm"
        },
        {
            "source_path_from_root": "/docs/azure/migration/appmod/coding-agent-support.md",
            "redirect_url": "/dotnet/azure/migration/appmod/cloud-agent-support"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-quickstart-vs.md",
            "redirect_url": "/visualstudio/deployment/quickstart-deploy-aspnet-web-app"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-quickstart-xplat.md",
            "redirect_url": "/azure/app-service/tutorial-dotnetcore-sqldb-app"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-samples.md",
            "redirect_url": "/dotnet/azure/"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-sdk-azure-authenticate.md",
            "redirect_url": "/dotnet/azure/sdk/authentication/index"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-sdk-azure-concepts.md",
            "redirect_url": "/dotnet/azure/"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-sdk-azure-get-started.md",
            "redirect_url": "/dotnet/azure/intro"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-sdk-azure-overview.md",
            "redirect_url": "/dotnet/azure/"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-sdk-vs2015-install.md",
            "redirect_url": "/dotnet/azure/dotnet-dev-env-checklist"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-tools.md",
            "redirect_url": "/dotnet/azure/dotnet-dev-env-checklist"
        },
        {
            "source_path_from_root": "/docs/azure/dotnet-tutorials.md",
            "redirect_url": "/dotnet/azure/"
        },
        {
            "source_path_from_root": "/docs/azure/landing-page.yml",
            "redirect_url": "/dotnet/azure/index"
        },
        {
            "source_path_from_root": "/docs/azure/logging.md",
            "redirect_url": "/dotnet/azure/sdk/logging"
        },
        {
            "source_path_from_root": "/docs/azure/packages.md",
            "redirect_url": "/dotnet/azure/sdk/packages"
        },
        {
            "source_path_from_root": "/docs/azure/sdk/index.yml",
            "redirect_url": "/dotnet/azure/"
        },
        {
            "source_path_from_root": "/docs/azure/sdk/tools.md",
            "redirect_url": "/dotnet/azure/dotnet-dev-env-checklist"
        },
        {
            "source_path_from_root": "/docs/azure/sdk/vs2015-install.md",
            "redirect_url": "/dotnet/azure/dotnet-dev-env-checklist"
        },
        {
            "source_path_from_root": "/docs/azure/tools.md",
            "redirect_url": "/dotnet/azure/dotnet-dev-env-checklist"
        },
        {
            "source_path_from_root": "/docs/azure/vs2015-install.md",
            "redirect_url": "/dotnet/azure/dotnet-dev-env-checklist"
        },
        {
            "source_path_from_root": "/docs/azure/sdk/authentication.md",
            "redirect_url": "/dotnet/azure/sdk/authentication/index"
        },
        {
            "source_path_from_root": "/docs/azure/sdk/authentication-on-premises-apps.md",
            "redirect_url": "/dotnet/azure/sdk/authentication/on-premises-apps"
        },
        {
            "source_path_from_root": "/docs/azure/sdk/authentication-local-development-service-principal.md",
            "redirect_url": "/dotnet/azure/sdk/authentication/local-development-service-principal"
        },
        {
            "source_path_from_root": "/docs/azure/sdk/authentication-local-development-dev-accounts.md",
            "redirect_url": "/dotnet/azure/sdk/authentication/local-development-dev-accounts"
        },
        {
            "source_path_from_root": "/docs/azure/sdk/authentication-azure-hosted-apps.md",
            "redirect_url": "/dotnet/azure/sdk/authentication/system-assigned-managed-identity"
        },
        {
            "source_path_from_root": "/docs/azure/sdk/authentication-additional-methods.md",
            "redirect_url": "/dotnet/azure/sdk/authentication/additional-methods"
        },
        {
            "source_path_from_root": "/docs/azure/ai/azure-ai-for-dotnet-developers.md",
            "redirect_url": "/dotnet/ai/azure-ai-for-dotnet-developers"
        },
        {
            "source_path_from_root": "/docs/azure/ai/get-started-app-chat-template.md",
            "redirect_url": "/dotnet/ai/get-started-app-chat-template"
        },
        {
            "source_path_from_root": "/docs/azure/ai/get-started-app-chat-scaling-with-azure-container-apps.md",
            "redirect_url": "/dotnet/ai/get-started-app-chat-scaling-with-azure-container-apps"
        },
        {
            "source_path_from_root": "/docs/azure/sdk/azure-sdk-configure-proxy.md",
            "redirect_url": "/dotnet/azure/sdk/configure-proxy"
        },
        {
            "source_path_from_root": "/docs/azure/sdk/authentication/authentication-best-practices.md",
            "redirect_url": "/dotnet/azure/sdk/authentication/best-practices"
        },
        {
            "source_path_from_root": "/docs/azure/sdk/authentication/azure-hosted-apps.md",
            "redirect_url": "/dotnet/azure/sdk/authentication/system-assigned-managed-identity"
        }
    ]
}