3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

デスクトップアプリの最新開発環境(2025-12):Visual Studio 2026世代 + .NET 10 で迷わない選び方

Posted at

「デスクトップアプリを作りたい」だけだと選択肢が多すぎて、環境づくりで詰まりがちです。
この記事では 2025-12 時点の一次情報をもとに、**いまの“現実的な最新”**としての開発環境(IDE/SDK/主要UIフレームワーク)を整理します。

TL;DR

  • Windows専用(業務アプリ寄り)なら: Visual Studio 2026世代 + .NET 10(LTS) + WPF or WinUI 3(Windows App SDK)
  • クロスプラットフォーム(Windows/macOS/Linux)なら: .NET 10 + Avalonia が選択肢として強い
  • 「最新」は“全部を最新にする”ではなく、OS/SDK/UIフレームワーク/配布方式の組を揃えるのが最短
  • 配布するなら、早めに 配布方式(単体EXE/MSIX/インストーラ)署名 まで決める

いまどきの「デスクトップ」の分類

ざっくり、開発環境が変わるポイントはここです。

  • Windows専用(WPF / WinForms / WinUI 3)
  • クロスプラットフォーム(Avalonia / .NET MAUI など)

WPF / WinUI 3 は Windows 専用です(クロスプラットフォームには対応しません)。

ベースライン(まずはここを最新に)

.NET

確認コマンド:

dotnet --info

Visual Studio

Windowsデスクトップは デザイナー/デバッグ/診断 の恩恵が大きいので、まずは Visual Studio を“主IDE”にするのが安定です。

Windows専用の最適解(WPF / WinUI 3)

WPF(.NET 10)

おすすめシーン:

  • 既存資産の継続開発
  • 業務アプリ(帳票/入力フォーム/運用ツール)
  • 「Windowsでちゃんと動く」を最優先

WinUI 3(Windows App SDK)

Windows向けに“モダンなUI/API”を使うなら WinUI 3(Windows App SDK)が軸になります。

導入(例):

dotnet add package Microsoft.WindowsAppSDK --version 1.8.251106002

おすすめシーン:

  • Windows 11 世代のUI/機能を取り込みたい
  • MSIX など「配布」まで含めてWindows流儀で整えたい

クロスプラットフォームの最適解(Avalonia)

「Windowsだけじゃない」要件なら、UIフレームワーク選び=開発環境そのものです。

導入(例):

dotnet add package Avalonia --version 11.3.10

おすすめシーン:

  • Windows/macOS/Linux を同一コードで出したい
  • UIをXAML寄りに保ちつつ、WPFのWindows縛りを外したい

“最新環境”を保つための最小運用

1) 更新の有無だけを機械的に見る

dotnet list package --outdated

2) 「UIフレームワーク」と「.NET」の組を崩さない

  • 例: .NET 10 を採るなら、UI側(WinUI/Avalonia/MAUI)も 互換性が明記されている範囲で追随
  • 例: Windows App SDK は NuGet で安定版/プレビューが並ぶので、業務用途は安定版固定が安全

3) チーム開発なら環境差分を減らす

  • Visual Studio Installer のワークロードを揃える
  • global.json で .NET SDK を固定(CIも同じSDKでビルド)

global.json の例)

{
  "sdk": {
    "version": "10.0.100"
  }
}

※SDKの正確なパッチ番号は、チームのインストール状況とCIに合わせて固定してください。

ざっくり判断マトリクス

要件 おすすめ
Windows専用で、保守/運用を重視 Visual Studio + .NET 10 + WPF
Windowsの“モダンUI/API”を取り込みたい Visual Studio + .NET 10 + WinUI 3(Windows App SDK)
Windows/macOS/Linuxに出したい .NET 10 + Avalonia(主IDEは好みでVS/VS Code/Rider)

Windows専用:テンプレ作成〜配布の最小手順

ここでは「まず動くものを作って、配れる形にする」までを最短で。

ルートA:WPF(最小手順)

1) テンプレ作成

Visual Studio

  • 「新しいプロジェクトの作成」→「WPF アプリ」
  • ターゲットフレームワークを .NET 10net10.0-windows)に設定

CLI(プロジェクト作成だけやる場合)

dotnet new wpf -n MyWpfApp

dotnet new のテンプレートは、環境によっては最新TFM(net10.0-windows)を自動で選ばないことがあります。
その場合は作成後に .csprojTargetFrameworknet10.0-windows に合わせてください。

2) EF Core を追加(最小)

デスクトップでも「設定/マスタ/履歴」の保存でDBが必要になりがちなので、EF Core を最小で入れる例です。

まずは本体:

dotnet add package Microsoft.EntityFrameworkCore --version 10.0.1

DBプロバイダー(どれか1つ):

  • SQL Server を使うなら
dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 10.0.1

マイグレーション等の設計時ツールを使うなら:

dotnet add package Microsoft.EntityFrameworkCore.Design --version 10.0.1
dotnet tool install --global dotnet-ef --version 10.0.1

3) 発行(単体EXEで配る最小)

インストーラを作らず、まずは配布の摩擦が少ない「単体EXE」を基準にします。

dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true
  • 出力された publish 配下の *.exe を配布(必要なら同フォルダの設定ファイル等も一緒に)
  • .NETランタイムが入っていないPCでも動かしたい場合は --self-contained true を維持

ルートB:WinUI 3(Windows App SDK)+ MSIX(配布まで最短)

WinUI 3 は「Windows流儀の配布(MSIX)」まで含めて整えやすいのが強みです。

1) テンプレ作成

  • Visual Studio で「WinUI 3 in Desktop」系のテンプレートを選ぶ
  • Windows App SDK を利用(プロジェクト内で Microsoft.WindowsAppSDK を参照)

2) MSIXとしてパッケージング

  • Visual Studio の「発行(Publish)」から MSIX パッケージを作成
  • 社内配布なら、まずは“社内の配布方法(共有/Intune等)”に合わせて運用を決める
  • MSIX は署名されたパッケージとして配布されるため、配布先端末で 証明書の信頼(企業証明書の配布など)までセットで考える

署名(実行ファイル/パッケージ)は必要?

ケースによっては 実質必須です。

  • 社外配布(WebからEXE/MSI/MSIXを配る): 未署名だと SmartScreen 警告が出やすく、導入が止まりがち
  • 社内配布でも端末ポリシーが厳しい: 署名があると例外申請/運用が楽

何に署名する?(最小)

  • EXE配布: EXEにAuthenticode署名
  • MSIX配布: MSIXに署名(証明書が信頼されていないとインストールで詰まりやすい)

インストーラ配布の場合:

  • MSI/EXEインストーラ: インストーラ本体にも署名(ダウンロード/実行時の警告対策として効果が出やすい)

どうやる?(最小の考え方)

  1. コード署名証明書を用意(社外配布なら商用コードサイニング、社内限定なら社内CA/配布証明書という選択も)
  2. 署名時は タイムスタンプも付ける(証明書期限後も署名が有効と判定されやすい)
  3. CIで署名するなら、秘密鍵を安全に保管(Key Vault等)

(コマンド例は環境・証明書次第で変わるため割愛しますが、Windowsでは一般に signtool を使います)

インストーラの場合も追記(最小)

単体EXEは最短ですが、配布・更新・アンインストールまで“ちゃんと運用”するならインストーラが欲しくなります。

  • MSIX: Windows流儀で更新/アンインストールまで整えやすい(ただし証明書の信頼配布が要ることが多い)
  • MSI: 既存の社内配布・資産管理(GPO/Intune/SCCM等)に乗せやすいことがある(作成は WiX など)
  • EXEインストーラ: 手早いが、運用ポリシーによっては MSI/MSIX の方が通りが良い

まずは「社内の配布基盤(Intune/GPO/共有/ポータル)」に合わせて、MSIX/MSIのどちらが通るかを確認するのが最短です。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?