{"id":1489,"date":"2025-06-26T13:41:15","date_gmt":"2025-06-26T13:41:15","guid":{"rendered":"https:\/\/www.cmarix.com\/qanda\/?p=1489"},"modified":"2026-02-05T12:05:44","modified_gmt":"2026-02-05T12:05:44","slug":"difference-between-net-sdk-and-net-runtime","status":"publish","type":"post","link":"https:\/\/www.cmarix.com\/qanda\/difference-between-net-sdk-and-net-runtime\/","title":{"rendered":"What is the Difference Between .NET SDK and .NET Runtime?"},"content":{"rendered":"\n<p>The .NET SDK and .NET Runtime are two major components of the .NET ecosystem. They serve different purposes during development and runtime of .NET applications.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. .NET Runtime \u2013 &#8220;Just Run the App&#8221;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Purpose:<\/h3>\n\n\n\n<p>The .NET Runtime is what you need to run applications that are built with .NET. It contains everything required to execute .NET apps: the Common Language Runtime (CLR), base libraries, and other components needed at runtime.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Use Case:<\/h3>\n\n\n\n<p>Install this if you&#8217;re only running a .NET application and not building or compiling any code.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Components<strong>:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CLR (Common Language Runtime)<\/li>\n\n\n\n<li>Core libraries (e.g., System.*, Microsoft.*)<\/li>\n\n\n\n<li>JIT (Just-In-Time) compiler<\/li>\n\n\n\n<li>Garbage Collector (GC)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">.NET Runtime Code Example:<\/h3>\n\n\n\n<p>Imagine you downloaded a .NET-based app like a dashboard or internal tool built by your company. You just want to run it. Installing the .NET Runtime is sufficient in this case<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dotnet myApp.dll<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2. .NET SDK \u2013 &#8220;Develop and Build the App&#8221;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Purpose<strong>:<\/strong><\/h3>\n\n\n\n<p>The <strong>.NET SDK<\/strong> includes all essentials you need to <strong>build, develop, test, and publish<\/strong> .NET applications. It includes the <strong>.NET Runtime<\/strong>, but also adds <strong>compilers, command-line tools, project templates, and debugging utilities<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Use Case:<\/h3>\n\n\n\n<p>Install this if you&#8217;re a <strong>developer<\/strong>, writing, compiling, testing, or deploying .NET applications.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Components:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Everything in the <strong>.NET Runtime<\/strong><\/li>\n\n\n\n<li>C# \/ F# \/ VB compilers<\/li>\n\n\n\n<li>dotnet CLI (e.g., dotnet build, dotnet run, dotnet publish)<\/li>\n\n\n\n<li>Project templates (like ASP.NET Web API, Console App, etc.)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Example<strong>:<\/strong><\/h3>\n\n\n\n<p>If you&#8217;re creating a new web application or console app, you need the <strong>.NET SDK<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">.NET SDK and .NET Runtime Real-Life Use Case Comparison<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Scenario 1: Deployment Server<\/h3>\n\n\n\n<p>You\u2019re deploying a production-ready .NET Web API to a Linux server. You don\u2019t need to build it there\u2014only to run it.<\/p>\n\n\n\n<p><strong>Install: <\/strong><strong>.NET Runtime<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Scenario 2: Developer Machine<\/h3>\n\n\n\n<p>You\u2019re writing code in Visual Studio or VS Code and building .NET apps.<\/p>\n\n\n\n<p><strong>Install:<\/strong><strong> .NET SDK<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">.NET SDK and .NET Runtime Comparison Table<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Feature<\/strong><\/td><td><strong>.NET Runtime<\/strong><\/td><td><strong>.NET SDK<\/strong><\/td><\/tr><tr><td><strong>Purpose<\/strong><\/td><td>Run existing apps<\/td><td>Build, develop, test, and run apps<\/td><\/tr><tr><td><strong>Includes<\/strong><\/td><td>CLR + base libraries<\/td><td>.NET Runtime + compilers + CLI tools<\/td><\/tr><tr><td><strong>CLI Tools (dotnet)<\/strong><\/td><td>Limited (dotnet only for running)<\/td><td>Full support (dotnet new, build, run, etc.)<\/td><\/tr><tr><td><strong>Suitable for<\/strong><\/td><td>End-users, servers for deployment<\/td><td>Developers<\/td><\/tr><tr><td><strong>File Size<\/strong><\/td><td>Smaller (~50\u201370MB)<\/td><td>Larger (~300\u2013400MB)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Understanding the distinction between the .NET Runtime and SDK is critical for efficient application deployment and development. If you&#8217;re just running apps, the Runtime is all you need. But if you&#8217;re building and shipping code, the SDK is your complete toolbox.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The .NET SDK and .NET Runtime are two major components of the .NET ecosystem. They serve different purposes during development and runtime of .NET applications. 1. .NET Runtime \u2013 &#8220;Just Run the App&#8221; Purpose: The .NET Runtime is what you need to run applications that are built with .NET. It contains everything required to execute [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1503,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4,3],"tags":[],"class_list":["post-1489","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dot-net","category-web"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.cmarix.com\/qanda\/wp-json\/wp\/v2\/posts\/1489","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cmarix.com\/qanda\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cmarix.com\/qanda\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cmarix.com\/qanda\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cmarix.com\/qanda\/wp-json\/wp\/v2\/comments?post=1489"}],"version-history":[{"count":5,"href":"https:\/\/www.cmarix.com\/qanda\/wp-json\/wp\/v2\/posts\/1489\/revisions"}],"predecessor-version":[{"id":1494,"href":"https:\/\/www.cmarix.com\/qanda\/wp-json\/wp\/v2\/posts\/1489\/revisions\/1494"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cmarix.com\/qanda\/wp-json\/wp\/v2\/media\/1503"}],"wp:attachment":[{"href":"https:\/\/www.cmarix.com\/qanda\/wp-json\/wp\/v2\/media?parent=1489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cmarix.com\/qanda\/wp-json\/wp\/v2\/categories?post=1489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cmarix.com\/qanda\/wp-json\/wp\/v2\/tags?post=1489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}