CINXE.COM
.NET documentation | Microsoft Learn
<!DOCTYPE html><html class=" is-full hub has-default-focus theme-light" lang="en-us" dir="ltr" data-authenticated="false" data-auth-status-determined="false" data-target="docs" x-ms-format-detection="none"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta property="og:title" content=".NET documentation" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://learn.microsoft.com/en-us/dotnet/" /><meta property="og:description" content="Learn to use .NET to create applications on any platform using C#, F#, and Visual Basic. Browse API reference, sample code, tutorials, and more." /><meta property="og:image" content="https://learn.microsoft.com/dotnet/media/dotnet-logo.png" /> <meta property="og:image:alt" content=".NET documentation | Microsoft Learn" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@MicrosoftLearn" /> <meta name="color-scheme" content="light dark"><meta name="apiPlatform" content="dotnet" /> <meta name="author" content="BillWagner" /> <meta name="breadcrumb_path" content="/dotnet/breadcrumb/toc.json" /> <meta name="depot_name" content="VS.core-docs" /> <meta name="description" content="Learn to use .NET to create applications on any platform using C#, F#, and Visual Basic. Browse API reference, sample code, tutorials, and more." /> <meta name="document_id" content="f34820aa-65f5-75df-fed3-6b44a54e9bd3" /> <meta name="document_version_independent_id" content="087bfe6e-d741-8d17-cc23-90339244bfbc" /> <meta name="feedback_help_link_type" content="" /> <meta name="feedback_help_link_url" content="" /> <meta name="feedback_product_url" content="https://aka.ms/feedback/report?space=61" /> <meta name="feedback_system" content="OpenSource" /> <meta name="git_commit_id" content="69bbf3c3cac2d47ce01b0fe0c1301a218ec6e0ad" /> <meta name="gitcommit" content="https://github.com/dotnet/docs/blob/69bbf3c3cac2d47ce01b0fe0c1301a218ec6e0ad/docs/index.yml" /> <meta name="locale" content="en-us" /> <meta name="ms.author" content="wiwagn" /> <meta name="ms.collection" content="collection" /> <meta name="ms.date" content="11/13/2023" /> <meta name="ms.devlang" content="dotnet" /> <meta name="ms.service" content="dotnet" /> <meta name="ms.topic" content="hub-page" /> <meta name="original_content_git_url" content="https://github.com/dotnet/docs/blob/live/docs/index.yml" /> <meta name="page_type" content="hub" /> <meta name="schema" content="Hub" /> <meta name="search.mshattr.devlang" content="csharp" /> <meta name="show_latex" content="true" /> <meta name="site_name" content="Docs" /> <meta name="summary" content="Learn to use .NET to create applications on any platform using C#, F#, and Visual Basic. Browse API reference, sample code, tutorials, and more." /> <meta name="uhfHeaderId" content="MSDocsHeader-DotNet" /> <meta name="updated_at" content="2024-11-12 08:27 AM" /> <meta name="persistent_id" content="c9e9b746-b94d-689b-6f49-299c014cc461" /> <meta name="cmProducts" content="https://authoring-docs-microsoft.poolparty.biz/devrel/7696cda6-0510-47f6-8302-71bb5d2e28cf" data-source="generated" /> <meta name="spProducts" content="https://authoring-docs-microsoft.poolparty.biz/devrel/69c76c32-967e-4c65-b89a-74cc527db725" data-source="generated" /> <meta name="scope" content=".NET" /><meta name="github_feedback_content_git_url" content="https://github.com/dotnet/docs/blob/main/docs/index.yml" /><link href="https://learn.microsoft.com/en-us/dotnet/" rel="canonical"><title>.NET documentation | Microsoft Learn</title><link rel="stylesheet" href="/static/assets/0.4.028726178/styles/site-ltr.css"> <script id="msdocs-script"> var msDocs = {environment: { supportLevel: 'production', accessLevel: 'online', reviewFeatures: false, systemContent: true, azurePortalHostname: 'portal.azure.com', legacyHosting: false, siteName: 'learn', },data: { timeOrigin: Date.now(), contentLocale: 'en-us', contentDir: 'ltr', userLocale: 'en-us', userDir: 'ltr', pageTemplate: 'Hub', brand: 'dotnet', context: {}, hasBinaryRating: false, feedbackHelpLinkType:'', feedbackHelpLinkUrl:'', standardFeedback: false, showFeedbackReport: false, enableTutorialFeedback: false, feedbackSystem: 'OpenSource', feedbackGitHubRepo: 'dotnet/docs', feedbackProductUrl: 'https://aka.ms/feedback/report?space=61',extendBreadcrumb: false,isEditDisplayable: false, hideViewSource: false, hasPageActions: false, hasPrintButton: false, hasBookmark: false, hasShare: true, isPermissioned: false, isPrivateUnauthorized: false,hasRecommendations: false,contributors: [{ name: "gewarren", url: "https://github.com/gewarren" },{ name: "jmatthiesen", url: "https://github.com/jmatthiesen" },{ name: "IEvangelist", url: "https://github.com/IEvangelist" },{ name: "alexwolfmsft", url: "https://github.com/alexwolfmsft" },{ name: "katiesavage", url: "https://github.com/katiesavage" },{ name: "claudiaregio", url: "https://github.com/claudiaregio" },{ name: "michpara", url: "https://github.com/michpara" },{ name: "alexbuckgit", url: "https://github.com/alexbuckgit" },{ name: "davidbritch", url: "https://github.com/davidbritch" },{ name: "v-hearya", url: "https://github.com/v-hearya" },{ name: "scottaddie", url: "https://github.com/scottaddie" },{ name: "wadepickett", url: "https://github.com/wadepickett" },{ name: "dsyme", url: "https://github.com/dsyme" },{ name: "tdykstra", url: "https://github.com/tdykstra" },{ name: "DCtheGeek", url: "https://github.com/DCtheGeek" },{ name: "CamSoper", url: "https://github.com/CamSoper" },{ name: "adegeo", url: "https://github.com/adegeo" },{ name: "Mrlinkwii", url: "https://github.com/Mrlinkwii" },{ name: "codemillmatt", url: "https://github.com/codemillmatt" },{ name: "rainersigwald", url: "https://github.com/rainersigwald" },{ name: "Thraka", url: "https://github.com/Thraka" },{ name: "mairaw", url: "https://github.com/mairaw" },{ name: "imba-tjd", url: "https://github.com/imba-tjd" },{ name: "guardrex", url: "https://github.com/guardrex" }],mathjax: {},}, functions:{} }; </script><script src="https://wcpstatic.microsoft.com/mscc/lib/v2/wcp-consent.js"></script> <script src="https://js.monitor.azure.com/scripts/c/ms.jsll-4.min.js"></script><script src="/static/assets/0.4.028726178/global/deprecation.js"></script><script src="/static/assets/0.4.028726178/scripts/en-us/index-docs.js"></script></head> <body lang="en-us" dir="ltr"> <div class="header-holder has-default-focus"> <a href="#main" style="z-index: 1070" class="outline-color-text visually-hidden-until-focused position-fixed inner-focus focus-visible top-0 left-0 right-0 padding-xs text-align-center has-body-background" tabindex="1">Skip to main content</a><div hidden id="cookie-consent-holder" data-test-id="cookie-consent-container"></div> <div id="unsupported-browser" style=" background-color: white; color: black; padding: 16px; border-bottom: 1px solid grey;" hidden > <div style="max-width: 800px; margin: 0 auto;"> <p style="font-size: 24px">This browser is no longer supported.</p> <p style="font-size: 16px; margin-top: 16px;">Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.</p> <div style="margin-top: 12px;"> <a href="https://go.microsoft.com/fwlink/p/?LinkID=2092881 " style=" background-color: #0078d4; border: 1px solid #0078d4; color: white; padding: 6px 12px; border-radius: 2px; display: inline-block; ">Download Microsoft Edge</a> <a href="https://learn.microsoft.com/en-us/lifecycle/faq/internet-explorer-microsoft-edge" style=" background-color: white; padding: 6px 12px; border: 1px solid #505050; color: #171717; border-radius: 2px; display: inline-block; ">More info about Internet Explorer and Microsoft Edge</a> </div> </div> </div> <!-- liquid-tag banners global --> <!-- site header --> <header id="ms--site-header" data-test-id="site-header-wrapper" role="banner" itemscope="itemscope" itemtype="http://schema.org/Organization"> <div id="ms--mobile-nav" class="site-header display-none-tablet padding-inline-none gap-none" data-bi-name="mobile-header" data-test-id="mobile-header"></div> <div id="ms--primary-nav" class="site-header display-none display-flex-tablet" data-bi-name="L1-header" data-test-id="primary-header"></div> <div id="ms--secondary-nav" class="site-header display-none display-flex-tablet" data-bi-name="L2-header" data-test-id="secondary-header"></div> </header><div id="disclaimer-holder" class="has-overflow-hidden has-default-focus"> <!-- liquid-tag banners sectional --> </div> </div> <div class="mainContainer uhf-container is-full has-default-focus" data-bi-name="body"> <div class="columns has-large-gaps is-gapless-mobile is-gapless"><!-- .primary-holder --> <section class="primary-holder column "> <!--div.columns --> <div class="columns is-gapless-mobile has-large-gaps is-gapless"><div id="main-column" class="column "> <main id="main" class="" role="main" data-bi-name="content" lang="en-us" dir="ltr"><div> <button type="button" class="border contents-button button button-clear button-sm is-hidden-tablet has-inner-focus" data-bi-name="contents-expand" data-contents-button hidden> <span class="icon"> <span class="docon docon-editor-list-bullet" aria-hidden="true"></span> </span><span class="contents-expand-title">Table of contents</span></button> </div><!-- end mobile-contents button --> <div class="content "><!-- <content> --><section id="hero" class="hero has-background-dotnet has-text-dotnet-invert background-image-pattern-plus hero-xs background-image-pattern background-size-200"> <div class="hero-content"> <h1 id="hero-title" class="title">.NET documentation</h1> <p id="hero-summary" class="margin-none padding-top-xs">Learn to use .NET to create applications on any platform using C#, F#, and Visual Basic. Browse API reference, sample code, tutorials, and more.</p> </div> </section> <section id="highlighted-content"> <div class="uhf-container padding-block-sm"> <div class="columns is-multiline"> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content display-flex"> <div class="media align-items-stretch"> <div class="media-left display-none display-block-tablet"> <div class="image image-64x64 has-text-dotnet" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" preserveAspectRatio="xMidYMin meet"> <g style="isolation:isolate"> <g data-name="Layer 1"> <g opacity=".1"> <path d="M52.51 52.38h-40.1a1.12 1.12 0 0 1-1.12-1.12V25a1.13 1.13 0 0 1 1.12-1.13h40.76a.47.47 0 0 1 .47.47v26.9a1.12 1.12 0 0 1-1.13 1.14z" opacity=".3" fill="#404040"></path> </g> <path d="M52.51 51.92h-40.1a1.12 1.12 0 0 1-1.12-1.12V24.56a1.13 1.13 0 0 1 1.12-1.13h40.76a.47.47 0 0 1 .47.47v26.9a1.12 1.12 0 0 1-1.13 1.12z" fill="#e3e3e3" opacity=".3"></path> <path d="M12 23.11h41.64a.48.48 0 0 1 .48.48v27.5A1.15 1.15 0 0 1 53 52.25H12a1.15 1.15 0 0 1-1.15-1.15V24.26A1.15 1.15 0 0 1 12 23.11z" stroke="#c8c8c8" stroke-width="1.25" fill="none" stroke-miterlimit="10"></path> <circle cx="32.5" cy="17.03" r="8.8" class="fill-current-color" fill="#0079d6"></circle> <path fill="#c8c8c8" d="M4.46 51.72h56v2.5a1.56 1.56 0 0 1-1.56 1.56H6a1.56 1.56 0 0 1-1.56-1.56v-2.5h.02z"></path> <path d="M32.5 12.26v8.09m3.04-3.05l-3.04 3.04-3.04-3.04" stroke="#fff" stroke-width="1.62" fill="none" stroke-miterlimit="10"></path> <path fill="#c8c8c8" transform="rotate(180 32.405 37.675)" d="M20.6 35.78h23.61v3.8H20.6z"></path> <path fill="#acacac" d="M28.35 35.78h16.16v3.8H28.35z"></path> </g> </g> </svg> </div> </div> <div class="media-content"> <p class="card-supertitle margin-top-none margin-top-xs-tablet">Download</p> <a href="https://dotnet.microsoft.com/download" class="card-title stretched-link has-external-link-indicator" data-linktype="external">Download .NET</a> </div> </div> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content display-flex"> <div class="media align-items-stretch"> <div class="media-left display-none display-block-tablet"> <div class="image image-64x64 has-text-dotnet" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" preserveAspectRatio="xMidYMin meet"> <g data-name="Layer 1"> <path d="M26.1 48.89h11.8a10.25 10.25 0 0 1-.61-3.28H26.71z" fill="#e7e7e7"></path> <path d="M43 53.52v1a.26.26 0 0 1-.29.23h-21.4c-.16 0-.3-.11-.3-.23v-1h.07a7.56 7.56 0 0 0 4.63-3.76 6.93 6.93 0 0 0 .39-.87 9.92 9.92 0 0 0 .62-3.28v-.35h10.57v.35a9.93 9.93 0 0 0 .61 3.28 7 7 0 0 0 .4.87 7.53 7.53 0 0 0 4.62 3.76z" fill="#acacac"></path> <path d="M37.91 48.89a9.93 9.93 0 0 1-.61-3.28v-7H26.72v7a9.92 9.92 0 0 1-.62 3.28 6.93 6.93 0 0 1-.39.87h12.6a7 7 0 0 1-.4-.87zm-5.9-5a1.79 1.79 0 1 1 1.79-1.79 1.79 1.79 0 0 1-1.8 1.78z" fill="#919191"></path> <path d="M58.85 9.85v28.57H5.15V10.67a1.42 1.42 0 0 1 1.42-1.42h51.69a.59.59 0 0 1 .59.6z" fill-opacity=".3" fill="#e3e3e3"></path> <path d="M58.85 38.54v5.18a1.41 1.41 0 0 1-1.42 1.42H6.57a1.41 1.41 0 0 1-1.42-1.42v-5.18z" opacity=".5" fill="#e3e3e3"></path> <path d="M58.85 10v33.76a1.41 1.41 0 0 1-1.42 1.42H6.57a1.41 1.41 0 0 1-1.42-1.42v-33a1.41 1.41 0 0 1 1.42-1.38h51.69a.58.58 0 0 1 .59.62z" fill="none" stroke="#c8c8c8" stroke-miterlimit="10" stroke-width="1.25"></path> <path fill="#8f8f8f" fill-opacity=".1" stroke="#ccc" stroke-linejoin="round" stroke-width=".96" d="M5.3 38.54h53.4"></path> <path d="M32 22c-3.66-3-10.82-3.4-10.82-3.4v13.52C26.51 31.26 32 34.83 32 34.83s5.49-3.57 10.83-2.71V18.58S35.36 19.31 32 22z" fill="#e3e3e3" opacity=".5"></path> <path d="M32 20.3c-3.66-3-10.82-3.4-10.82-3.4v13.55c5.34-.86 10.83 2.7 10.83 2.7s5.49-3.56 10.83-2.7V16.9s-7.48.74-10.84 3.4z" class="fill-current-color" fill="#137ad1"></path> </g> </svg> </div> </div> <div class="media-content"> <p class="card-supertitle margin-top-none margin-top-xs-tablet">Training</p> <a href="/en-us/training/paths/build-dotnet-applications-csharp" class="card-title stretched-link has-external-link-indicator" data-linktype="absolute-path">Build .NET apps with C#</a> </div> </div> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content display-flex"> <div class="media align-items-stretch"> <div class="media-left display-none display-block-tablet"> <div class="image image-64x64 has-text-dotnet" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" preserveAspectRatio="xMidYMin meet"> <g data-name="Layer 1"> <path d="M26.1 48.89h11.8a10.25 10.25 0 0 1-.61-3.28H26.71z" fill="#e7e7e7"></path> <path d="M43 53.52v1a.26.26 0 0 1-.29.23h-21.4c-.16 0-.3-.11-.3-.23v-1h.07a7.56 7.56 0 0 0 4.63-3.76 6.93 6.93 0 0 0 .39-.87 9.92 9.92 0 0 0 .62-3.28v-.35h10.57v.35a9.93 9.93 0 0 0 .61 3.28 7 7 0 0 0 .4.87 7.53 7.53 0 0 0 4.62 3.76z" fill="#acacac"></path> <path d="M37.91 48.89a9.93 9.93 0 0 1-.61-3.28v-7H26.72v7a9.92 9.92 0 0 1-.62 3.28 6.93 6.93 0 0 1-.39.87h12.6a7 7 0 0 1-.4-.87zm-5.9-5a1.79 1.79 0 1 1 1.79-1.79 1.79 1.79 0 0 1-1.8 1.78z" fill="#919191"></path> <path d="M58.85 9.85v28.57H5.15V10.67a1.42 1.42 0 0 1 1.42-1.42h51.69a.59.59 0 0 1 .59.6z" fill-opacity=".3" fill="#e3e3e3"></path> <path d="M58.85 38.54v5.18a1.41 1.41 0 0 1-1.42 1.42H6.57a1.41 1.41 0 0 1-1.42-1.42v-5.18z" opacity=".5" fill="#e3e3e3"></path> <path d="M58.85 10v33.76a1.41 1.41 0 0 1-1.42 1.42H6.57a1.41 1.41 0 0 1-1.42-1.42v-33a1.41 1.41 0 0 1 1.42-1.38h51.69a.58.58 0 0 1 .59.62z" fill="none" stroke="#c8c8c8" stroke-miterlimit="10" stroke-width="1.25"></path> <path fill="#8f8f8f" fill-opacity=".1" stroke="#ccc" stroke-linejoin="round" stroke-width=".96" d="M5.3 38.54h53.4"></path> <path d="M32 22c-3.66-3-10.82-3.4-10.82-3.4v13.52C26.51 31.26 32 34.83 32 34.83s5.49-3.57 10.83-2.71V18.58S35.36 19.31 32 22z" fill="#e3e3e3" opacity=".5"></path> <path d="M32 20.3c-3.66-3-10.82-3.4-10.82-3.4v13.55c5.34-.86 10.83 2.7 10.83 2.7s5.49-3.56 10.83-2.7V16.9s-7.48.74-10.84 3.4z" class="fill-current-color" fill="#137ad1"></path> </g> </svg> </div> </div> <div class="media-content"> <p class="card-supertitle margin-top-none margin-top-xs-tablet">Training</p> <a href="https://dotnet.microsoft.com/learn/aspnet/hello-world-tutorial/intro" class="card-title stretched-link has-external-link-indicator" data-linktype="external">Create your first web app</a> </div> </div> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content display-flex"> <div class="media align-items-stretch"> <div class="media-left display-none display-block-tablet"> <div class="image image-64x64 has-text-dotnet" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" preserveAspectRatio="xMidYMin meet"> <g data-name="Layer 1"> <path d="M49.85 11.83v46.84a.57.57 0 0 1-.57.57h-34.5a1.37 1.37 0 0 1-1.37-1.37V11.83a1.37 1.37 0 0 1 1.37-1.37h33.7a1.37 1.37 0 0 1 1.37 1.37z" fill-opacity=".3" fill="#e3e3e3"></path> <path d="M49.57 11.83v46.84a.57.57 0 0 1-.57.57H14.5a1.37 1.37 0 0 1-1.37-1.37v-46a1.37 1.37 0 0 1 1.37-1.37h33.7a1.37 1.37 0 0 1 1.37 1.33z" fill="none" stroke="#c8c8c8" stroke-miterlimit="10" stroke-width="1.25"></path> <path d="M41.47 15.14H45v35.11a3.56 3.56 0 0 0 3.53 3.06h-27.9a3.57 3.57 0 0 1-3.57-3.57v-34.6h4.52" fill="#c8c8c8" fill-opacity=".8"></path> <path d="M48.19 45.29H23.87v4.91a3 3 0 0 1 0 .52 3.6 3.6 0 0 1-1.71 2.59H48.21c2.56-.27 2.68-3 2.68-3.07v-4.95z" opacity=".8" fill="#e3e3e3"></path> <path d="M30.08 31.55h-4.71a.26.26 0 0 1-.27-.24.17.17 0 0 1 0-.1l5.65-11.28a.26.26 0 0 1 .24-.14h5.61a.25.25 0 0 1 .26.24.2.2 0 0 1 0 .13L30.17 29h6.48a.26.26 0 0 1 .27.24.24.24 0 0 1-.07.16L26.09 40.67c-.1.06-.81.66-.46-.25z" class="fill-current-color" fill="#0079d6"></path> <path d="M34.52 8.23a1.55 1.55 0 0 0 0-.22A3.25 3.25 0 1 0 28 8a1.55 1.55 0 0 0 0 .22h-6.59v8.44H41.3V8.23z" fill="#919191"></path> </g> </svg> </div> </div> <div class="media-content"> <p class="card-supertitle margin-top-none margin-top-xs-tablet">Get started</p> <a href="csharp/tour-of-csharp/tutorials/hello-world" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">Interactive introduction to C#</a> </div> </div> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content display-flex"> <div class="media align-items-stretch"> <div class="media-left display-none display-block-tablet"> <div class="image image-64x64 has-text-dotnet" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" preserveAspectRatio="xMidYMin meet"> <g data-name="Layer 1"> <path fill="#919191" d="M49.82 12.94v6.77H24.6v-6a3.35 3.35 0 0 0-.05-.63 4.42 4.42 0 0 0-2.1-3.18h29a5.09 5.09 0 0 0-1.63 3.04zM58.67 19.71h-7.54v-6.62a3.79 3.79 0 0 1 3.74-3.21c3.64 0 3.79 3.75 3.79 3.79v6z"></path> <path d="M54.88 9.31a4.38 4.38 0 0 0-4.33 3.76v41.05h-34.3V13.68a4.38 4.38 0 0 1 4.38-4.37z" fill-opacity=".3" fill="#e3e3e3"></path> <path d="M54.88 8.55H20a5.12 5.12 0 0 0-5.12 5.12v41.78H51.1V13.09a3.79 3.79 0 0 1 3.74-3.21c3.64 0 3.79 3.75 3.79 3.79v6H60v-6a5.08 5.08 0 0 0-5.12-5.12zm-5.06 4.39V54.12H16.25V13.67A3.79 3.79 0 0 1 20 9.88h31.45a5.09 5.09 0 0 0-1.63 3.06z" fill="#e3e3e3"></path> <path d="M10 27.08l10.77 8.56H10v-8.56M4 14.69v26.94h33.93L4 14.69z" class="fill-current-color" fill="#0079d6"></path> </g> </svg> </div> </div> <div class="media-content"> <p class="card-supertitle margin-top-none margin-top-xs-tablet">Architecture</p> <a href="architecture/" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">.NET architecture docs</a> </div> </div> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content display-flex"> <div class="media align-items-stretch"> <div class="media-left display-none display-block-tablet"> <div class="image image-64x64 has-text-dotnet" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" preserveAspectRatio="xMidYMin meet"> <g data-name="Layer 1"> <path fill="#acacac" d="M40.93 51.66L24.42 54.3V12.12l16.51-2.64v42.18z"></path> <path fill-opacity=".3" fill="#e3e3e3" d="M57.71 53.19l-16.59-1.32-16.59 2.65-16.58-1.33V12.14l16.58 1.33 16.59-2.65 16.59 1.32v41.05z"></path> <path d="M24.41 54.52h-.08l-17.2-1.38V10.76l17.23 1.37 16.58-2.65H41l17.2 1.37v42.39L41 51.87zM8.46 51.91l15.9 1.27 16.58-2.65H41l15.87 1.27V12.09L41 10.82l-16.59 2.65h-.08L8.46 12.19z" fill="#e3e3e3"></path> <path d="M59.63 31.82a3 3 0 0 0-3-3A5.48 5.48 0 0 0 46.79 26h-.37a4.42 4.42 0 0 0-.48 8.81h11.1a3 3 0 0 0 2.59-2.99zm-34.02.79A3.61 3.61 0 0 0 22 29h-.06a6.6 6.6 0 0 0-11.81-3.41h-.44a5.33 5.33 0 0 0-.58 10.62h13.37a3.6 3.6 0 0 0 3.13-3.6z" fill="#fff" stroke="#e3e3e3" stroke-miterlimit="10"></path> <circle cx="32.83" cy="32" r="10" class="fill-current-color" fill="#0079d6"></circle> <path fill="#fff" d="M36.89 26.93l-5.64 4.02-2.48 6.48 5.64-4.03 2.48-6.47z"></path> </g> </svg> </div> </div> <div class="media-content"> <p class="card-supertitle margin-top-none margin-top-xs-tablet">Overview</p> <a href="azure/" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">Azure for .NET developers</a> </div> </div> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content display-flex"> <div class="media align-items-stretch"> <div class="media-left display-none display-block-tablet"> <div class="image image-64x64 has-text-dotnet" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" preserveAspectRatio="xMidYMin meet"> <g data-name="Layer 1"> <path fill="#acacac" d="M40.93 51.66L24.42 54.3V12.12l16.51-2.64v42.18z"></path> <path fill-opacity=".3" fill="#e3e3e3" d="M57.71 53.19l-16.59-1.32-16.59 2.65-16.58-1.33V12.14l16.58 1.33 16.59-2.65 16.59 1.32v41.05z"></path> <path d="M24.41 54.52h-.08l-17.2-1.38V10.76l17.23 1.37 16.58-2.65H41l17.2 1.37v42.39L41 51.87zM8.46 51.91l15.9 1.27 16.58-2.65H41l15.87 1.27V12.09L41 10.82l-16.59 2.65h-.08L8.46 12.19z" fill="#e3e3e3"></path> <path d="M59.63 31.82a3 3 0 0 0-3-3A5.48 5.48 0 0 0 46.79 26h-.37a4.42 4.42 0 0 0-.48 8.81h11.1a3 3 0 0 0 2.59-2.99zm-34.02.79A3.61 3.61 0 0 0 22 29h-.06a6.6 6.6 0 0 0-11.81-3.41h-.44a5.33 5.33 0 0 0-.58 10.62h13.37a3.6 3.6 0 0 0 3.13-3.6z" fill="#fff" stroke="#e3e3e3" stroke-miterlimit="10"></path> <circle cx="32.83" cy="32" r="10" class="fill-current-color" fill="#0079d6"></circle> <path fill="#fff" d="M36.89 26.93l-5.64 4.02-2.48 6.48 5.64-4.03 2.48-6.47z"></path> </g> </svg> </div> </div> <div class="media-content"> <p class="card-supertitle margin-top-none margin-top-xs-tablet">Overview</p> <a href="/en-us/dotnet/aspire" class="card-title stretched-link has-external-link-indicator" data-linktype="absolute-path">.NET Aspire</a> </div> </div> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content display-flex"> <div class="media align-items-stretch"> <div class="media-left display-none display-block-tablet"> <div class="image image-64x64 has-text-dotnet" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" preserveAspectRatio="xMidYMin meet"> <g data-name="Layer 1"> <path fill="none" d="M.04 0h64v64h-64z"></path> <path fill="none" d="M-.04 0h64v64h-64z"></path> <path d="M54.16 16v35a1.86 1.86 0 0 1-2.64 1.69 74.73 74.73 0 0 0-8.72-3.39C29.1 45 12 42.54 6.57 41.85A1.87 1.87 0 0 1 5 40V26.89A1.87 1.87 0 0 1 6.57 25c5.43-.7 22.53-3.1 36.23-7.46a76.6 76.6 0 0 0 8.72-3.3A1.85 1.85 0 0 1 54.16 16z" fill="#e3e3e3" fill-opacity=".3"></path> <path d="M32.16 46.19v1.47a6.28 6.28 0 0 1-6.28 6.28h-.81A7 7 0 0 1 18.12 47v-3.7" stroke="#c8c8c8" stroke-miterlimit="10" stroke-width="2" fill="none"></path> <path d="M59.05 33.44A7 7 0 0 1 49.56 40c-.18-2.07-.28-4.27-.28-6.54s.1-4.51.28-6.6a7 7 0 0 1 9.49 6.57z" fill="#919191"></path> <path fill="#c8c8c8" d="M52.3 15.44a.52.52 0 0 1 .52.53v35a.52.52 0 0 1-.52.52.59.59 0 0 1-.22 0A76.54 76.54 0 0 0 43.21 48c-13.88-4.41-31.42-6.86-36.47-7.5a.52.52 0 0 1-.44-.5V26.89a.53.53 0 0 1 .45-.52c6.47-.83 23-3.22 36.46-7.51a76.64 76.64 0 0 0 8.87-3.36.46.46 0 0 1 .22-.06m0-1.34a1.85 1.85 0 0 0-.78.18 76.6 76.6 0 0 1-8.72 3.3C29.1 21.94 12 24.34 6.57 25A1.87 1.87 0 0 0 5 26.89V40a1.87 1.87 0 0 0 1.62 1.85C12 42.54 29.1 45 42.8 49.3a74.73 74.73 0 0 1 8.72 3.31 1.83 1.83 0 0 0 .78.17 1.86 1.86 0 0 0 1.86-1.86V16a1.86 1.86 0 0 0-1.86-1.9z"></path> <path fill="#c8c8c8" d="M54.16 16v35a1.86 1.86 0 0 1-2.64 1.69 74.73 74.73 0 0 0-8.72-3.39V17.58a76.6 76.6 0 0 0 8.72-3.3A1.85 1.85 0 0 1 54.16 16z"></path> <circle cx="26.29" cy="21.3" r="9.8" class="fill-current-color" fill="#0079d6"></circle> <path fill="#fff" d="M26.3 15.36l1.47 4.54h4.77l-3.86 2.8 1.47 4.54-3.85-2.81-3.86 2.81 1.47-4.54-3.86-2.8h4.77l1.48-4.54z"></path> </g> </svg> </div> </div> <div class="media-content"> <p class="card-supertitle margin-top-none margin-top-xs-tablet">What's new</p> <a href="whats-new/" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">What's new in .NET</a> </div> </div> </div> </article> </div> </div> </div> </section> <section id="conceptual-content" class="padding-block-lg"> <div class="uhf-container anchor-headings"> <h2 class="margin-top-none ">.NET: Free. Cross platform. Open source.</h2> <p class="margin-top-none margin-bottom-sm">A developer platform for building all your apps: web, mobile, desktop, gaming, IoT, and more. Supported on Windows, Linux, and macOS.</p> <div class="columns is-multiline"> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">Open source .NET</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="core/introduction" class="has-external-link-indicator" data-linktype="relative-path">.NET overview</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-tutorial"></span> </span> <a href="core/tutorials/" class="has-external-link-indicator" data-linktype="relative-path">.NET tutorials</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-whats-new"></span> </span> <a href="core/whats-new/dotnet-9/overview" class="has-external-link-indicator" data-linktype="relative-path">What's new in .NET 9</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="https://dotnetfoundation.org" class="has-external-link-indicator" data-linktype="external">.NET Foundation</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-whats-new"></span> </span> <a href="https://dotnet.microsoft.com/platform/community" class="has-external-link-indicator" data-linktype="external">.NET developer community</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="/en-us/dotnet/communitytoolkit/" class="has-external-link-indicator" data-linktype="absolute-path">Community Toolkits</a> </div> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">.NET concepts</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-video"></span> </span> <a href="/en-us/shows/dotnet-for-beginners/what-is-dotnet-dotnet-for-beginners" class="has-external-link-indicator" data-linktype="absolute-path">What is .NET?</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-concept"></span> </span> <a href="fundamentals/" class="has-external-link-indicator" data-linktype="relative-path">.NET fundamentals</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-concept"></span> </span> <a href="fundamentals/implementations" class="has-external-link-indicator" data-linktype="relative-path">.NET implementations</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="framework/" class="has-external-link-indicator" data-linktype="relative-path">.NET Framework (for Windows)</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="standard/net-standard" class="has-external-link-indicator" data-linktype="relative-path">.NET Standard</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-get-started"></span> </span> <a href="/en-us/answers/products/dotnet" class="has-external-link-indicator" data-linktype="absolute-path">.NET Q&A</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-concept"></span> </span> <a href="https://techcommunity.microsoft.com/t5/net/ct-p/dotnet" class="has-external-link-indicator" data-linktype="external">.NET tech community forums</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="standard/security/" class="has-external-link-indicator" data-linktype="relative-path">Security in .NET</a> </div> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">Develop .NET apps</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-tutorial"></span> </span> <a href="/en-us/dotnet/desktop/wpf/get-started/create-app-visual-studio" class="has-external-link-indicator" data-linktype="absolute-path">Create .NET desktop apps for Windows</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="/en-us/aspnet/core/" class="has-external-link-indicator" data-linktype="absolute-path">Create web apps with ASP.NET Core</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="orleans/" class="has-external-link-indicator" data-linktype="relative-path">Build cloud-native .NET apps with Orleans</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-quickstart"></span> </span> <a href="/en-us/dotnet/aspire/get-started/quickstart-build-your-first-aspire-app" class="has-external-link-indicator" data-linktype="absolute-path">Build cloud-native apps with .NET Aspire</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-tutorial"></span> </span> <a href="core/docker/build-container" class="has-external-link-indicator" data-linktype="relative-path">Containerize .NET apps with Docker</a> </div> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">.NET tools and diagnostics</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="core/sdk" class="has-external-link-indicator" data-linktype="relative-path">.NET SDK overview</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="core/tools/" class="has-external-link-indicator" data-linktype="relative-path">.NET CLI overview</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-reference"></span> </span> <a href="core/project-sdk/msbuild-props" class="has-external-link-indicator" data-linktype="relative-path">MSBuild property reference</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="core/tools/global-tools" class="has-external-link-indicator" data-linktype="relative-path">Global and local tools</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="core/diagnostics/" class="has-external-link-indicator" data-linktype="relative-path">Diagnostics tools</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="fundamentals/code-analysis/overview" class="has-external-link-indicator" data-linktype="relative-path">Code analysis</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="fundamentals/package-validation/overview" class="has-external-link-indicator" data-linktype="relative-path">Package validation</a> </div> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">Migrate and upgrade</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="core/porting/" class="has-external-link-indicator" data-linktype="relative-path">Port from .NET Framework to .NET</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-concept"></span> </span> <a href="core/compatibility/breaking-changes" class="has-external-link-indicator" data-linktype="relative-path">.NET breaking changes</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-download"></span> </span> <a href="https://dotnet.microsoft.com/download" class="has-external-link-indicator" data-linktype="external">Download .NET</a> </div> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">DevOps and testing</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-deploy"></span> </span> <a href="core/deploying/" class="has-external-link-indicator" data-linktype="relative-path">Deploy .NET apps</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="core/testing/" class="has-external-link-indicator" data-linktype="relative-path">Unit test .NET apps</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="devops/github-actions-overview" class="has-external-link-indicator" data-linktype="relative-path">GitHub Actions and .NET</a> </div> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">Data access in .NET</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="standard/linq/" class="has-external-link-indicator" data-linktype="relative-path">LINQ overview</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="/en-us/ef/core/" class="has-external-link-indicator" data-linktype="absolute-path">Entity Framework Core</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="/en-us/dotnet/api/overview/azure/storage/" class="has-external-link-indicator" data-linktype="absolute-path">Azure Storage</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="standard/data/xml/" class="has-external-link-indicator" data-linktype="relative-path">XML data</a> </div> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">Advanced .NET programming</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="standard/asynchronous-programming-patterns/" class="has-external-link-indicator" data-linktype="relative-path">Async programming patterns overview</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="standard/threading/managed-threading-basics" class="has-external-link-indicator" data-linktype="relative-path">Threading overview</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="standard/parallel-programming/" class="has-external-link-indicator" data-linktype="relative-path">Parallel programming overview</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="standard/native-interop/" class="has-external-link-indicator" data-linktype="relative-path">Native interoperability</a> </div> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <div class="justify-content-flex-start display-flex is-fullwidth font-size-sm has-text-wrap"> <span class="icon font-size-md has-text-primary margin-right-xxs" aria-hidden="true"> <span class="docon docon-topic-overview"></span> </span> <a href="standard/garbage-collection/" class="has-external-link-indicator" data-linktype="relative-path">Garbage collection</a> </div> </li> </ul> </div> </article> </div> </div> </div> </section> <section id="tools" class="padding-block-lg"> <div class="uhf-container anchor-headings padding-bottom-sm"> <h2 class="margin-top-none ">Programming languages</h2> <p class="margin-top-none margin-bottom-sm">Write your app in your favorite language</p> <div class="columns is-multiline"> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content display-flex"> <div class="media align-items-center"> <div class="media-left"> <div class="image image-32x32"> <img src="/en-us/media/logos/logo_net.svg" alt="" aria-hidden="true" data-linktype="absolute-path"> </div> </div> <div class="media-content"> <a id="write-net-apps-in-c-f-or-visual-basic-0" href="fundamentals/languages" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">Write .NET apps in C#, F#, or Visual Basic</a> </div> </div> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content display-flex"> <div class="media align-items-center"> <div class="media-left"> <div class="image image-32x32"> <img src="media/logo_csharp.png" alt="" aria-hidden="true" data-linktype="relative-path"> </div> </div> <div class="media-content"> <a id="a-modern-object-oriented-and-type-safe-language-1" href="csharp/" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">A modern, object-oriented, and type-safe language</a> </div> </div> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content display-flex"> <div class="media align-items-center"> <div class="media-left"> <div class="image image-32x32"> <img src="media/logo_fsharp.png" alt="" aria-hidden="true" data-linktype="relative-path"> </div> </div> <div class="media-content"> <a id="a-simple-language-for-succinct-robust-and-performant-code-2" href="fsharp/" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">A simple language for succinct, robust, and performant code</a> </div> </div> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content display-flex"> <div class="media align-items-center"> <div class="media-left"> <div class="image image-32x32"> <img src="media/logo_vb.png" alt="" aria-hidden="true" data-linktype="relative-path"> </div> </div> <div class="media-content"> <a id="an-approachable-language-with-readable-syntax-3" href="visual-basic/" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">An approachable language with readable syntax</a> </div> </div> </div> </article> </div> </div> </div> </section> <section id="additional-content" class="padding-block-lg"> <div class="uhf-container anchor-headings"> <h2 class="margin-top-none ">Create your application</h2> <p class="margin-top-none margin-bottom-sm">You can choose web, mobile, desktop, gaming, IoT, and more.</p> <div class="columns is-multiline"> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">Web</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/aspnet/core/tutorials" class="has-external-link-indicator" data-linktype="absolute-path"> ASP.NET Core tutorials </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/aspnet/core" class="has-external-link-indicator" data-linktype="absolute-path"> What is ASP.NET Core? </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/aspnet/core/tutorials/first-mvc-app/start-mvc" class="has-external-link-indicator" data-linktype="absolute-path"> ASP.NET Core in Visual Studio </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/aspnet/mvc/overview/deployment/docker-aspnetmvc" class="has-external-link-indicator" data-linktype="absolute-path"> ASP.NET MVC apps in Windows containers </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/aspnet/core/blazor/" class="has-external-link-indicator" data-linktype="absolute-path"> Blazor: Interactive client-side web UI with .NET </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="fsharp/scenarios/web-development" class="has-external-link-indicator" data-linktype="relative-path"> F# for web development </a> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">Mobile</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/dotnet/maui" class="has-external-link-indicator" data-linktype="absolute-path"> .NET Multi-platform App UI (.NET MAUI) </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/xamarin/xamarin-forms" class="has-external-link-indicator" data-linktype="absolute-path"> Xamarin.Forms </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/xamarin/ios" class="has-external-link-indicator" data-linktype="absolute-path"> Xamarin.iOS </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/xamarin/android" class="has-external-link-indicator" data-linktype="absolute-path"> Xamarin.Android </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/azure/developer/mobile-apps" class="has-external-link-indicator" data-linktype="absolute-path"> Develop Xamarin apps with Azure </a> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">Desktop</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/uwp" class="has-external-link-indicator" data-linktype="absolute-path"> Universal Windows apps </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/dotnet/desktop/wpf/" class="has-external-link-indicator" data-linktype="absolute-path"> Windows Presentation Foundation (.NET 5+) </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/dotnet/desktop/wpf/?view=netframeworkdesktop-4.8&preserve-view=true" class="has-external-link-indicator" data-linktype="absolute-path"> Windows Presentation Foundation (.NET Framework) </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/dotnet/desktop/winforms/" class="has-external-link-indicator" data-linktype="absolute-path"> Windows Forms (.NET 5+) </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/dotnet/desktop/winforms/?view=netframeworkdesktop-4.8&preserve-view=true" class="has-external-link-indicator" data-linktype="absolute-path"> Windows Forms (.NET Framework) </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/dotnet/maui" class="has-external-link-indicator" data-linktype="absolute-path"> .NET Multi-platform App UI (.NET MAUI) </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/xamarin/mac" class="has-external-link-indicator" data-linktype="absolute-path"> Xamarin for macOS </a> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">Microservices</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="architecture/dapr-for-net-developers/" class="has-external-link-indicator" data-linktype="relative-path"> Dapr for .NET developers </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="architecture/cloud-native/" class="has-external-link-indicator" data-linktype="relative-path"> Cloud native .NET apps </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="architecture/serverless/" class="has-external-link-indicator" data-linktype="relative-path"> Serverless apps with Azure </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="architecture/microservices/" class="has-external-link-indicator" data-linktype="relative-path"> Architecture for containerized .NET apps </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="core/extensions/cloud-service" class="has-external-link-indicator" data-linktype="relative-path"> Deploy a Worker Service to Azure </a> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">Cloud</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="azure/" class="has-external-link-indicator" data-linktype="relative-path"> Azure for .NET developers </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/dotnet/aspire" class="has-external-link-indicator" data-linktype="absolute-path"> .NET Aspire </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="azure/migration/app-service?preserve-view=true&view=azure-dotnet" class="has-external-link-indicator" data-linktype="relative-path"> Migrate on-premises .NET web apps or services </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="azure/key-azure-services" class="has-external-link-indicator" data-linktype="relative-path"> Azure services for .NET developers </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="azure/sdk/azure-sdk-for-dotnet" class="has-external-link-indicator" data-linktype="relative-path"> Azure SDK for .NET </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="fsharp/using-fsharp-on-azure/deploying-and-managing" class="has-external-link-indicator" data-linktype="relative-path"> Deploying Azure Resources with F# </a> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">AI and machine learning</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="ai/" class="has-external-link-indicator" data-linktype="relative-path"> AI for .NET developers </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="ai/quickstarts/get-started-openai" class="has-external-link-indicator" data-linktype="relative-path"> Build a chat app </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="ai/conceptual/prompt-engineering-dotnet" class="has-external-link-indicator" data-linktype="relative-path"> Understand prompt engineering </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="ai/tutorials/tutorial-ai-vector-search" class="has-external-link-indicator" data-linktype="relative-path"> Implement RAG using vector search </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="ai/get-started-app-chat-template" class="has-external-link-indicator" data-linktype="relative-path"> Get started with the .NET enterprise chat sample </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="machine-learning/" class="has-external-link-indicator" data-linktype="relative-path"> Build custom AI solutions with ML.NET </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/azure/cognitive-services/" class="has-external-link-indicator" data-linktype="absolute-path"> Azure Cognitive Services </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="/en-us/azure/machine-learning" class="has-external-link-indicator" data-linktype="absolute-path"> Azure machine learning </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="fsharp/scenarios/machine-learning" class="has-external-link-indicator" data-linktype="relative-path"> F# for Machine Leaning </a> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">Game development</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="https://visualstudio.microsoft.com/vs/features/game-development/?utm_medium=microsoft&utm_source=learn.microsoft.com&utm_campaign=inline+link" class="has-external-link-indicator" data-linktype="external"> Game development with Visual Studio </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="https://docs.cryengine.com/display/CEPROG/C%23+Programming" class="has-external-link-indicator" data-linktype="external"> Learn how to use CRYENGINE to build games with C# </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="https://docs.monogame.net/?page=main" class="has-external-link-indicator" data-linktype="external"> Build games with C# using the MonoGame library </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="https://docs.unity3d.com/Manual/index.html" class="has-external-link-indicator" data-linktype="external"> Learn how to use Unity to build 2D and 3D games with C# </a> </li> </ul> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height"> <div class="card-content"> <p class="card-title color-text font-size-lg">Internet of things (IoT)</p> <ul class="has-line-height-reset margin-left-none margin-bottom-none margin-top-xs"> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="iot/" class="has-external-link-indicator" data-linktype="relative-path"> .NET IoT Libraries </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="iot/quickstarts/sensehat" class="has-external-link-indicator" data-linktype="relative-path"> Get started in 5 minutes </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="iot/tutorials/blink-led" class="has-external-link-indicator" data-linktype="relative-path"> Blink an LED </a> </li> <li class="is-unstyled margin-bottom-xxs font-size-sm"> <a href="https://aka.ms/dotnet/beginnervideos/youtube/iot" class="has-external-link-indicator" data-linktype="external"> .NET IoT 101 video series </a> </li> </ul> </div> </article> </div> </div> <h2 class="margin-top-none ">API and language reference</h2> <p class="margin-top-none margin-bottom-sm">Search the .NET API and language reference documentation.</p> <div class="columns is-multiline"> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content"> <a href="api/?view=net-9.0" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">.NET API reference</a> <p class="card-content-description">API reference documentation for .NET</p> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content"> <a href="api/?view=netframework-4.8&preserve-view=true" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">.NET Framework API reference</a> <p class="card-content-description">API reference documentation for .NET Framework</p> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content"> <a href="api/?view=view=aspnetcore-9.0&preserve-view=true" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">ASP.NET Core API reference</a> <p class="card-content-description">API reference documentation for ASP.NET Core</p> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content"> <a href="api/?view=ml-dotnet&preserve-view=true" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">ML.NET API reference</a> <p class="card-content-description">API reference documentation for ML.NET</p> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content"> <a href="api/?view=dotnet-9.0-pp&preserve-view=true" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">.NET Package-provided API reference</a> <p class="card-content-description">Reference documentation for package-provided .NET APIs</p> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content"> <a href="csharp/language-reference/" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">C# language reference</a> <p class="card-content-description">C# language reference and specification</p> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content"> <a href="fsharp/language-reference/" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">F# language reference</a> <p class="card-content-description">F# language reference</p> </div> </article> </div> <div class="column is-6-tablet is-3-desktop"> <article class="card is-full-height position-relative"> <div class="card-content"> <a href="visual-basic/language-reference/" class="card-title stretched-link has-external-link-indicator" data-linktype="relative-path">Visual Basic language reference</a> <p class="card-content-description">Visual Basic language reference and specification</p> </div> </article> </div> </div> <div class="columns"> <div class="column is-12 font-size-sm has-line-height-reset"> <p>Are you interested in contributing to the .NET docs? For more information, see our <a href="/en-us/contribute/dotnet/dotnet-contribute" data-linktype="absolute-path">contributor guide</a>.</p> </div> </div> </div> </section> </div><div id="assertive-live-region" role="alert" aria-live="assertive" class="visually-hidden" aria-relevant="additions" aria-atomic="true"></div> <div id="polite-live-region" role="status" aria-live="polite" class="visually-hidden" aria-relevant="additions" aria-atomic="true"></div> <!-- </content> --> </main><!-- recommendations section --><!-- end recommendations section --> <!-- feedback section --><!-- end feedback section --> <!-- feedback report section --><!-- end feedback report section --><div class="border-top is-visible-interactive has-default-focus margin-top-sm margin-top-none"><footer id="footer-interactive" data-bi-name="footer" class="footer-layout"><div class="display-flex gap-xs flex-wrap-wrap is-full-height padding-right-lg-desktop"><a data-mscc-ic="false" class="locale-selector-link button button-sm button-clear flex-shrink-0" href="#" data-bi-name="select-locale"> <span class="icon" aria-hidden="true"> <span class="docon docon-world"></span> </span> <span class="local-selector-link-text"></span></a><div class="ccpa-privacy-link" data-ccpa-privacy-link hidden> <a href="https://aka.ms/yourcaliforniaprivacychoices" class="button button-sm button-clear flex-shrink-0" data-mscc-ic="false" data-bi-name="your-privacy-choices" > <svg role="img" aria-label="California Consumer Privacy Act (CCPA) Opt-Out Icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 14" xml:space="preserve" height="16" width="43" focusable="false" > <title>California Consumer Privacy Act (CCPA) Opt-Out Icon</title> <path d="M7.4 12.8h6.8l3.1-11.6H7.4C4.2 1.2 1.6 3.8 1.6 7s2.6 5.8 5.8 5.8z" style="fill-rule:evenodd;clip-rule:evenodd;fill:#fff"></path> <path d="M22.6 0H7.4c-3.9 0-7 3.1-7 7s3.1 7 7 7h15.2c3.9 0 7-3.1 7-7s-3.2-7-7-7zm-21 7c0-3.2 2.6-5.8 5.8-5.8h9.9l-3.1 11.6H7.4c-3.2 0-5.8-2.6-5.8-5.8z" style="fill-rule:evenodd;clip-rule:evenodd;fill:#06f"></path> <path d="M24.6 4c.2.2.2.6 0 .8L22.5 7l2.2 2.2c.2.2.2.6 0 .8-.2.2-.6.2-.8 0l-2.2-2.2-2.2 2.2c-.2.2-.6.2-.8 0-.2-.2-.2-.6 0-.8L20.8 7l-2.2-2.2c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0l2.2 2.2L23.8 4c.2-.2.6-.2.8 0z" style="fill:#fff"></path> <path d="M12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0z" style="fill:#06f"></path> </svg> <span>Your Privacy Choices</span> </a> </div> <div class="flex-shrink-0"> <div class="dropdown has-caret-up"> <button class="dropdown-trigger button button-clear button-sm has-inner-focus theme-dropdown-trigger" aria-controls="theme-menu-interactive" aria-expanded="false" title="Theme" data-bi-name="theme"> <span class="icon"> <span class="docon docon-sun" aria-hidden="true"></span> </span> <span>Theme</span> <span class="icon expanded-indicator" aria-hidden="true"> <span class="docon docon-chevron-down-light"></span> </span> </button> <div class="dropdown-menu" id="theme-menu-interactive" role="menu"> <ul class="theme-selector padding-xxs" role="none"> <li class="theme display-block" role="menuitem"> <button class="button button-clear button-sm theme-control button-block justify-content-flex-start" data-theme-to="light"> <span class="theme-light margin-right-xxs"> <span class="theme-selector-icon border display-inline-block has-body-background" aria-hidden="true"> <svg class="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 14"> <rect width="22" height="14" class="has-fill-body-background" /> <rect x="5" y="5" width="12" height="4" class="has-fill-secondary" /> <rect x="5" y="2" width="2" height="1" class="has-fill-secondary" /> <rect x="8" y="2" width="2" height="1" class="has-fill-secondary" /> <rect x="11" y="2" width="3" height="1" class="has-fill-secondary" /> <rect x="1" y="1" width="2" height="2" class="has-fill-secondary" /> <rect x="5" y="10" width="7" height="2" rx="0.3" class="has-fill-primary" /> <rect x="19" y="1" width="2" height="2" rx="1" class="has-fill-secondary" /> </svg> </span> </span> <span>Light</span> </button> </li> <li class="theme display-block" role="menuitem"> <button class="button button-clear button-sm theme-control button-block justify-content-flex-start" data-theme-to="dark"> <span class="theme-dark margin-right-xxs"> <span class="border theme-selector-icon display-inline-block has-body-background" aria-hidden="true"> <svg class="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 14"> <rect width="22" height="14" class="has-fill-body-background" /> <rect x="5" y="5" width="12" height="4" class="has-fill-secondary" /> <rect x="5" y="2" width="2" height="1" class="has-fill-secondary" /> <rect x="8" y="2" width="2" height="1" class="has-fill-secondary" /> <rect x="11" y="2" width="3" height="1" class="has-fill-secondary" /> <rect x="1" y="1" width="2" height="2" class="has-fill-secondary" /> <rect x="5" y="10" width="7" height="2" rx="0.3" class="has-fill-primary" /> <rect x="19" y="1" width="2" height="2" rx="1" class="has-fill-secondary" /> </svg> </span> </span> <span>Dark</span> </button> </li> <li class="theme display-block" role="menuitem"> <button class="button button-clear button-sm theme-control button-block justify-content-flex-start" data-theme-to="high-contrast"> <span class="theme-high-contrast margin-right-xxs"> <span class="border theme-selector-icon display-inline-block has-body-background" aria-hidden="true"> <svg class="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 14"> <rect width="22" height="14" class="has-fill-body-background" /> <rect x="5" y="5" width="12" height="4" class="has-fill-secondary" /> <rect x="5" y="2" width="2" height="1" class="has-fill-secondary" /> <rect x="8" y="2" width="2" height="1" class="has-fill-secondary" /> <rect x="11" y="2" width="3" height="1" class="has-fill-secondary" /> <rect x="1" y="1" width="2" height="2" class="has-fill-secondary" /> <rect x="5" y="10" width="7" height="2" rx="0.3" class="has-fill-primary" /> <rect x="19" y="1" width="2" height="2" rx="1" class="has-fill-secondary" /> </svg> </span> </span> <span>High contrast</span> </button> </li> </ul> </div> </div> </div> </div> <ul class="links" data-bi-name="footerlinks"> <li class="manage-cookies-holder" hidden></li><li><a class="external-link-indicator" data-mscc-ic="false" href="/en-us/previous-versions/" data-bi-name="archivelink">Previous Versions</a></li> <li><a class="external-link-indicator" data-mscc-ic="false" href="https://techcommunity.microsoft.com/t5/microsoft-learn-blog/bg-p/MicrosoftLearnBlog" data-bi-name="bloglink">Blog</a></li> <li><a class="external-link-indicator" data-mscc-ic="false" href="/en-us/contribute/" data-bi-name="contributorGuide">Contribute</a></li><li><a class="external-link-indicator" data-mscc-ic="false" href="https://go.microsoft.com/fwlink/?LinkId=521839" data-bi-name="privacy">Privacy</a></li><li><a class="external-link-indicator" data-mscc-ic="false" href="/en-us/legal/termsofuse" data-bi-name="termsofuse">Terms of Use</a></li><li><a class="external-link-indicator" data-mscc-ic="false" href="https://www.microsoft.com/legal/intellectualproperty/Trademarks/" data-bi-name="trademarks">Trademarks</a></li><li>© Microsoft 2024</li> </ul> </footer></div></div></div> <!--end of div.columns --> </section> <!--end of .primary-holder --> <!-- interactive container --> <aside id="interactive-container" class="interactive-container is-visible-interactive column has-body-background-dark "> </aside> <!-- end of interactive container --> </div> </div> <!--end of .mainContainer --> <section class="border-top has-default-focus is-hidden-interactive margin-top-sm margin-top-none"><footer id="footer" data-bi-name="footer" class="footer-layout uhf-container has-padding" role="contentinfo"><div class="display-flex gap-xs flex-wrap-wrap is-full-height padding-right-lg-desktop"><a data-mscc-ic="false" class="locale-selector-link button button-sm button-clear flex-shrink-0" href="#" data-bi-name="select-locale"> <span class="icon" aria-hidden="true"> <span class="docon docon-world"></span> </span> <span class="local-selector-link-text"></span></a><div class="ccpa-privacy-link" data-ccpa-privacy-link hidden> <a href="https://aka.ms/yourcaliforniaprivacychoices" class="button button-sm button-clear flex-shrink-0" data-mscc-ic="false" data-bi-name="your-privacy-choices" > <svg role="img" aria-label="California Consumer Privacy Act (CCPA) Opt-Out Icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 14" xml:space="preserve" height="16" width="43" focusable="false" > <title>California Consumer Privacy Act (CCPA) Opt-Out Icon</title> <path d="M7.4 12.8h6.8l3.1-11.6H7.4C4.2 1.2 1.6 3.8 1.6 7s2.6 5.8 5.8 5.8z" style="fill-rule:evenodd;clip-rule:evenodd;fill:#fff"></path> <path d="M22.6 0H7.4c-3.9 0-7 3.1-7 7s3.1 7 7 7h15.2c3.9 0 7-3.1 7-7s-3.2-7-7-7zm-21 7c0-3.2 2.6-5.8 5.8-5.8h9.9l-3.1 11.6H7.4c-3.2 0-5.8-2.6-5.8-5.8z" style="fill-rule:evenodd;clip-rule:evenodd;fill:#06f"></path> <path d="M24.6 4c.2.2.2.6 0 .8L22.5 7l2.2 2.2c.2.2.2.6 0 .8-.2.2-.6.2-.8 0l-2.2-2.2-2.2 2.2c-.2.2-.6.2-.8 0-.2-.2-.2-.6 0-.8L20.8 7l-2.2-2.2c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0l2.2 2.2L23.8 4c.2-.2.6-.2.8 0z" style="fill:#fff"></path> <path d="M12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0z" style="fill:#06f"></path> </svg> <span>Your Privacy Choices</span> </a> </div> <div class="flex-shrink-0"> <div class="dropdown has-caret-up"> <button class="dropdown-trigger button button-clear button-sm has-inner-focus theme-dropdown-trigger" aria-controls="theme-menu" aria-expanded="false" title="Theme" data-bi-name="theme"> <span class="icon"> <span class="docon docon-sun" aria-hidden="true"></span> </span> <span>Theme</span> <span class="icon expanded-indicator" aria-hidden="true"> <span class="docon docon-chevron-down-light"></span> </span> </button> <div class="dropdown-menu" id="theme-menu" role="menu"> <ul class="theme-selector padding-xxs" role="none"> <li class="theme display-block" role="menuitem"> <button class="button button-clear button-sm theme-control button-block justify-content-flex-start" data-theme-to="light"> <span class="theme-light margin-right-xxs"> <span class="theme-selector-icon border display-inline-block has-body-background" aria-hidden="true"> <svg class="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 14"> <rect width="22" height="14" class="has-fill-body-background" /> <rect x="5" y="5" width="12" height="4" class="has-fill-secondary" /> <rect x="5" y="2" width="2" height="1" class="has-fill-secondary" /> <rect x="8" y="2" width="2" height="1" class="has-fill-secondary" /> <rect x="11" y="2" width="3" height="1" class="has-fill-secondary" /> <rect x="1" y="1" width="2" height="2" class="has-fill-secondary" /> <rect x="5" y="10" width="7" height="2" rx="0.3" class="has-fill-primary" /> <rect x="19" y="1" width="2" height="2" rx="1" class="has-fill-secondary" /> </svg> </span> </span> <span>Light</span> </button> </li> <li class="theme display-block" role="menuitem"> <button class="button button-clear button-sm theme-control button-block justify-content-flex-start" data-theme-to="dark"> <span class="theme-dark margin-right-xxs"> <span class="border theme-selector-icon display-inline-block has-body-background" aria-hidden="true"> <svg class="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 14"> <rect width="22" height="14" class="has-fill-body-background" /> <rect x="5" y="5" width="12" height="4" class="has-fill-secondary" /> <rect x="5" y="2" width="2" height="1" class="has-fill-secondary" /> <rect x="8" y="2" width="2" height="1" class="has-fill-secondary" /> <rect x="11" y="2" width="3" height="1" class="has-fill-secondary" /> <rect x="1" y="1" width="2" height="2" class="has-fill-secondary" /> <rect x="5" y="10" width="7" height="2" rx="0.3" class="has-fill-primary" /> <rect x="19" y="1" width="2" height="2" rx="1" class="has-fill-secondary" /> </svg> </span> </span> <span>Dark</span> </button> </li> <li class="theme display-block" role="menuitem"> <button class="button button-clear button-sm theme-control button-block justify-content-flex-start" data-theme-to="high-contrast"> <span class="theme-high-contrast margin-right-xxs"> <span class="border theme-selector-icon display-inline-block has-body-background" aria-hidden="true"> <svg class="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 14"> <rect width="22" height="14" class="has-fill-body-background" /> <rect x="5" y="5" width="12" height="4" class="has-fill-secondary" /> <rect x="5" y="2" width="2" height="1" class="has-fill-secondary" /> <rect x="8" y="2" width="2" height="1" class="has-fill-secondary" /> <rect x="11" y="2" width="3" height="1" class="has-fill-secondary" /> <rect x="1" y="1" width="2" height="2" class="has-fill-secondary" /> <rect x="5" y="10" width="7" height="2" rx="0.3" class="has-fill-primary" /> <rect x="19" y="1" width="2" height="2" rx="1" class="has-fill-secondary" /> </svg> </span> </span> <span>High contrast</span> </button> </li> </ul> </div> </div> </div> </div> <ul class="links" data-bi-name="footerlinks"> <li class="manage-cookies-holder" hidden></li><li><a class="external-link-indicator" data-mscc-ic="false" href="/en-us/previous-versions/" data-bi-name="archivelink">Previous Versions</a></li> <li><a class="external-link-indicator" data-mscc-ic="false" href="https://techcommunity.microsoft.com/t5/microsoft-learn-blog/bg-p/MicrosoftLearnBlog" data-bi-name="bloglink">Blog</a></li> <li><a class="external-link-indicator" data-mscc-ic="false" href="/en-us/contribute/" data-bi-name="contributorGuide">Contribute</a></li><li><a class="external-link-indicator" data-mscc-ic="false" href="https://go.microsoft.com/fwlink/?LinkId=521839" data-bi-name="privacy">Privacy</a></li><li><a class="external-link-indicator" data-mscc-ic="false" href="/en-us/legal/termsofuse" data-bi-name="termsofuse">Terms of Use</a></li><li><a class="external-link-indicator" data-mscc-ic="false" href="https://www.microsoft.com/legal/intellectualproperty/Trademarks/" data-bi-name="trademarks">Trademarks</a></li><li>© Microsoft 2024</li> </ul> </footer> </section> <div id="action-panel" role="region" aria-label="Action Panel" class="action-panel has-default-focus" tabindex="-1"></div> </body> </html>