ใช้คำสั่ง CLI dotnet ใน Terminal/Command Prompt เพื่อตรวจสอบการติดตั้ง
คำสั่งหลัก
| Command | คำอธิบาย | Output ตัวอย่าง |
|---|---|---|
dotnet --info |
ข้อมูลละเอียด: SDK Version, Runtime Versions, OS, RID, Base Path, Global JSON | ดูด้านล่าง |
dotnet --version |
SDK Version ที่ใช้อยู่ (Active) | 7.0.402 |
dotnet --list-runtimes |
Runtime ที่ติดตั้งทั้งหมด (Microsoft.NETCore.App, ASP.NET Core, Desktop) | ดูด้านล่าง |
dotnet --list-sdks |
SDK ที่ติดตั้งทั้งหมด | ดูด้านล่าง |
dotnet --help / dotnet -h |
รายการคำสั่งทั้งหมด | - |
ตัวอย่าง Output: dotnet --info
.NET SDK (reflecting any global.json):
Version: 7.0.402
Commit: abc123...
Runtime Environment:
OS Name: Windows
OS Version: 10.0.19045
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\7.0.402\
Host (useful for support):
Version: 7.0.12
Commit: def456...
.NET SDKs installed:
6.0.415 [C:\Program Files\dotnet\sdk]
7.0.402 [C:\Program Files\dotnet\sdk]
.NET Runtimes installed:
Microsoft.AspNetCore.App 7.0.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 7.0.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 7.0.12 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
ตัวอย่าง Output: dotnet --list-runtimes
Microsoft.AspNetCore.App 7.0.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 7.0.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 7.0.12 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
ตัวอย่าง Output: dotnet --list-sdks
6.0.415 [C:\Program Files\dotnet\sdk]
7.0.402 [C:\Program Files\dotnet\sdk]
ตรวจสอบแบบ Programmatic (ในโค้ด C#)
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
public static class DotNetDetector
{
public static bool IsDotNetInstalled()
{
try
{
var psi = new ProcessStartInfo("dotnet", "--version")
{
RedirectStandardOutput = true,
RedirectStandardError = true,
UseShellExecute = false,
CreateNoWindow = true
};
using var process = Process.Start(psi);
process.WaitForExit();
return process.ExitCode == 0;
}
catch
{
return false; // dotnet ไม่อยู่ใน PATH
}
}
public static string GetDotNetVersion()
{
try
{
var psi = new ProcessStartInfo("dotnet", "--version")
{
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
using var process = Process.Start(psi);
string version = process.StandardOutput.ReadToEnd().Trim();
process.WaitForExit();
return process.ExitCode == 0 ? version : null;
}
catch
{
return null;
}
}
public static string GetRuntimeVersion()
{
// Version ของ Runtime ที่ App กำลังรันอยู่
return RuntimeInformation.FrameworkDescription; // ".NET 7.0.12"
}
}
ใน CI/CD Pipeline
# GitHub Actions
- name: Check .NET Version
run: |
dotnet --version
dotnet --list-runtimes
dotnet --list-sdks
หมายเหตุ
- SDK = Toolchain สำหรับ Build (Compiler, MSBuild, CLI)
- Runtime = สำหรับ Run App เท่านั้น (ขนาดเล็กกว่า)
- Multiple Versions: ติดตั้ง Side-by-side ได้ (แยกโฟลเดอร์)
global.jsonควบคุม SDK Version ต่อ Project