1. Project Overview & Quickstart (dotnet/near-miss-core-language-feature-gate-skew)
Technical Documentation: dotnet/near-miss-core-language-feature-gate-skew
βΉοΈ Provenance: Multi-Tier Ingestion Β· CodeWiki Reference
near-miss-core-language-feature-gate-skew
Agent Skills & Rules
- Discovered 21 agent rule(s) and prompt configurations.
--- METRICS ---
- Files Extracted: 1
- Estimated Token Budget: ~32 tokens
- Canonical Reference: https://codewiki.google/github.com/dotnet/near-miss-core-language-feature-gate-skew
2. Official Technical Reference & Guides (dotnet/docs)
File: README.md
.NET Docs
This repository contains the conceptual documentation for .NET. The .NET documentation site is built from multiple repositories:
- .NET docs
- ASP.NET Core docs
- .NET Desktop workloads docs
- .NET MAUI docs
- Entity Framework docs
- Community toolkit
API reference documentation is published from the following repositories:
- .NET API reference
- .NET MAUI API reference
- Android API reference
- Entity Framework 6/Core API reference
- Roslyn API reference
- Community toolkit API reference
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:
Our team's tasks are tracked in our project boards. 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. 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 for information on working with us. Look for issues labeled help wanted :label: for ideas to get started.
Before submitting a PR with 3rd party dependencies, see our policy on 3rd party dependencies.
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.
:octocat: GitHub Action workflows
- : Adds a comment to PRs that were not automated, but rather manually created that target the
livebranch. - : Automatically approves and auto-merges PRs originating from the
dependabbot[bot]. - : Creates a PR to generate the "What's new" article on the first of every month.
- : The current status for the entire repositories Markdown linter status.
- : Runs various Markdown verifications, beyond the linter, such as ensuring links and redirects are valid.
- : Builds the site for the PR in context, and verifies the build reporting either,
success,warnings, orerror. - : Custom .NET build validation, locates code impacted by a PR, and builds.
- : Runs monthly, creating issues on projects that target .NET versions that are out of support.
- : Automatically synchronizes issues with Quest (Azure DevOps).
- : 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.
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.
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/migration-guide//.{md,yml}": "app-compact",
"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, Azure, DotNet, AspNet, Xamarin, and our GitHub organizations.
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's definition of a security vulnerability, 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.
If you prefer to submit without logging in, send email to [email protected]. If possible, encrypt your message with our PGP key; please download it from the Microsoft Security Response Center PGP Key page.
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.
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 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.
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,
see the LICENSE file, and grant you a license to any code in the repository under the MIT License, see the
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"
}
]
}