.NET Core

核心功能

.NET Core 是由許多專案所組成，除了基本的類別庫 (Core FX) 之外，也包含採用 RyuJIT 編譯的執行平台 Core CLR、編譯器平台 .NET Compiler Platform、採用 AOT 編譯技術運行最佳化的套件 Core RT (.NET Core Runtime)，以及跨平台的 MSIL 編譯器 LLILC (LLVM-based MSIL Compiler) 等專案。
同時，微軟也發展了一個建置技術檔案的平台 docfx ，並運用於 .NET Core 的檔案網站。

RyuJIT

RyuJIT 是微軟發展的新式即地編譯器 (Just-in-Time Compiler)，用以取代現有的 .NET Framework 的 JIT 以及 JIT64 即地編譯器，依據微軟公布的測試報告，RyuJIT 的效能較前一代的 JIT 提升約 25%，並支援 SIMD (Single Instruction, Multiple Data) 的技術。RyuJIT 同時應用於 .NET Framework 4.6 以及 .NET Core。

Core CLR

Core CLR 移植 .NET Framework 的 CLR 的功能，包含核心程式庫 mscorlib、JIT 編譯器、垃圾收集器 (GC) 以及其他執行 MSIL 所需要的執行期環境。

LLILC

LLILC (LLVM-based MSIL Compiler，英文發音為 "lilac") 是 .NET Core 在非 Windows 平台的 MSIL 編譯器，基於 ECMA-335 (Common Language Infrastructure) 的標準將 MSIL 編譯成原生碼執行，適用於可運行 LLVM 的作業系統，例如 Mac OSX 與 Linux 作業系統。
LLILC 同時支援 JIT (內含 RyuJIT 的實作) 以及 AOT (未來將開始支援) 的編譯方式。

Roslyn

.NET Compiler Platform (專案程式碼為 Roslyn) 是將 .NET 平台的編譯架構標準化的平台，它可提供程式管理工具 (如整合開發環境) 相當多的情報，用以發展有助於編寫程式與管理程式結構所需要的功能，例如型別資訊、語法結構、參考連結、語意、編譯器、自動化、錯誤回報等等功能，只要是遵循 CLI 標準的程式語言，都可以利用 .NET Compiler Platform 實作出編譯器，讓程式管理工具能實作如語法提示、語法自動完成、關鍵字突顯等視覺化能力。
.NET Compiler Platform 可同時支援 .NET Framework 4.6 以上版本，.NET Core 也原生支援。

.NET Core v1.1 時期

對於微軟來說，.NET Core 1.0 (以及早期開發時) 使用 project.json 來處理套件管理與版本相依的問題，是因為很多工具還沒趕上 (例如微軟主力的建置工具 MSBuild)，再加上 project.json/xproj 架構並不相容於以 MSBuild 為主的工具鏈 (Toolchain)，若是要修改成相容 project.json/xproj 架構的話可能會付出極大成本，因此在 .NET Core 1.0 RC2 發布不久，官方就宣布要將 project.json/xproj 系統移回到以 MSBuild 為主的 csproj ，例如下列 csproj 的例子即可看到套件參考的內容。
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

  <PropertyGroup>
    <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
  </PropertyGroup>

  <PropertyGroup>
    <UserSecretsId>aspnet-MyCoolWebApplication-e119bc96-38e9-44ab-b4d3-d54964ade9b1</UserSecretsId>
    <DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" PrivateAssets="All" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.1" PrivateAssets="All" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0" PrivateAssets="All" />
    <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="1.1.1" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="1.1.0" PrivateAssets="All" />
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.0" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />
    <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.0" />
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
  </ItemGroup></Project>
由於 .NET Core 移回了 MSBuild 架構，因此在 Visual Studio 2017 的 .NET Core 工具內，已恢復可直接於 IDE 的 GUI 介面中編修套件參考的功能。

應用程式類型

.NET Core 基於跨平台能力，並沒有將與 GUI 高度相關的 API 移植到 .NET Core 內，因此像是 Windows Forms 或是 Windows Presentation Foundation (WPF) 並未移植到 .NET Core。.NET Core 支援主控台應用程式 (Console Application) 以及類別庫 (Class Library) 類型的專案。
不過微軟在其 Universal Windows Platform (UWP) 開發平台使用了 .NET Core，並且利用 .NET Native 技術將其效能提升至十分接近原生碼的速度。
ASP.NET Core 則以主控台應用程式驅動其代管環境 Kestrel Server 以支援 ASP.NET Core 程式的執行。

與其他平台的關係

.NET Core 經常會拿來與其他平台做類比，尤其是它的源頭 .NET Framework 以及另一個相似性質的開源平台 Mono。

.NET Framework

據微軟的說明，.NET Core 和 .NET Framework 是子集 (Subset) 與超集 (Superset) 的關係，.NET Core 將會實作出部份的 .NET Framework 功能 (基本上是不含使用者介面的部份)，例如 JIT (.NET Core 採用 RyuJIT)、垃圾收集器 (GC) 以及型別 (包含基本型別以及泛型型別等)。未來 .NET Framework 和 .NET Core 也將會是各自發展，但它們也會同時使用彼此的功能，例如 .NET Compiler Platform 與 RyuJIT 等技術。

Mono

Mono 是另一個已發展許久的 .NET Framework 跨平台開源版本，基本上並不隸屬微軟官方，而是由社群的力量所主導，自成一個生態系統，也開發出了像Xamarin這樣的跨平台.NET行動應用，.NET Core 與 Mono 未來會是合作的關係，Mono 仍會維持社群力量的維護與發展，而 .NET Core 則會以官方角度來進行發展，兩邊也會一起進行彼此功能上的增進。

與 ASP.NET Core 的關係

.NET Core 與 ASP.NET Core 的關係其實一開始並不是主從關係 ，ASP.NET Core 的開發初期 (ASP.NET 5) .NET Core 還沒有開始起跑，因此 ASP.NET Core 當時有自己的執行期與工具，一開始稱為 Project K，後來改為 DNX (.NET Execution Environment)，DNX 本身就具有可獨立運作的執行能力，不需要依賴 .NET Core 執行，但是這樣會變成 .NET Core 和 ASP.NET Core 雙頭馬車的現象，在 .NET Core 逐漸成熟之後，微軟也決定要將這兩個各自獨立發展的產品線整合在一起，DNX 也將因改用 .NET Core 執行期而終止開發，DNX 的功能將由 .NET Core 以及旗下的 .NET CLI 接替提供，整合後的版本將在 1.0 RC2 時釋出。