本文へ移動
.NET Framework → .NET 10 → Web

デスクトップアプリの Web 化サービス

同じソースで、2つの使い方。
.NET Framework のデスクトップアプリを .NET 10 へ移行し、画面を作り直さずにブラウザでも使える業務システムへ。

01

画面を作り直さない

Web 版は、デスクトップ版と同じソースをサーバーで動かし、その画面をブラウザに表示します。画面の再設計や作り直しは不要です。

02

2 段階で、確実に移行する

まず .NET Framework から .NET 10(LTS)へ移行し、デスクトップ版として動作を確認します。その後、他社製コントロール・Win32 API・EXE 呼び出しなど、Web 化に必要な箇所を変更します。

03

デスクトップ版も残せる

Web 版に移行しても、デスクトップ版はそのまま使えます。業務や拠点ごとの使い分けや、段階的な切り替えができます。

Target

対象とするシステム

まず .NET 10 にそろえ、そこから同じ方法で Web 化します。

.NET Framework デスクトップアプリケーション

Windows Forms アプリ

  • .NET 10 へ移行(プロジェクト形式の更新と、.NET 10 で使えない API の置き換え)
  • 他社製コントロールを弊社ライブラリへ置き換え
  • Win32 API の呼び出しを見直し、EXE 呼び出しの扱いを決める
  • Blazor Server 上で同じソースを動かす。デスクトップ版も同じソースで継続
その他デスクトップアプリケーション

VB6 / Delphi / PowerBuilder

  • 変換ツールで .NET(C#)へ変換し、弊社ライブラリで互換性を吸収
  • .NET への変換が終われば、.NET Framework デスクトップアプリケーションと同じ手順で Web 化
Fact check

.NET Framework のサポート状況

4.x は Windows の一部として扱われ、Windows のサポートに合わせて継続します。

バージョンサポートの扱いサポート期限補足
.NET Framework 4.8.1 / 4.8 / 4.7.xWindows の構成要素動作している Windows のサポート期間に準ずる4.8.1 が最終版。新しい機能は .NET(.NET 10 など)にのみ追加されます
.NET Framework 4.6.2個別の期限あり2027年1月12日4.8 / 4.8.1 への更新、または .NET への移行が必要です
.NET Framework 3.5 SP1個別の期限あり2029年1月9日Windows 11 では、今後 OS のセットアップに含まれず、別途インストールする形に変わる予定と報じられています
.NET 10(移行先)LTS(長期サポート)2028年11月14日まで(2025年11月11日リリース)以降も 2 年ごとに出る LTS 版へ順次更新します
.NET 8 / .NET 9—2026年11月10日すでに .NET 8 / 9 へ移行済みの場合も、.NET 10 への更新が必要です

.NET Framework 4.8 / 4.8.1 は当面使い続けられます。移行を考える理由は「期限」よりも、Web 化や新しいライブラリ、技術者の確保が .NET(.NET 10 などの新しい系統)を前提に進んでいることにあります。

出典:Microsoft「.NET Framework Support Policy」「.NET and .NET Core Support Policy」(2026年10月確認)、heise online(.NET Framework 3.5 の扱い)

よくある誤解と、実際のところ

「.NET Framework は、もうすぐ使えなくなる」

4.8 / 4.8.1 は Windows のサポートに合わせて継続します。移行の理由は期限ではなく、Web 化や新しい機能が .NET(.NET 10 など)を前提にしていることです。

「.NET 10 にプロジェクトを変えれば、そのまま動く」

プロジェクト形式の変更に加え、.NET 10 で使えない機能(BinaryFormatter、.NET Remoting、AppDomain の分離など)は書き換えが必要です。

「Web 化するなら、画面は作り直し」

弊社の Web 版は、デスクトップ版と同じソースをサーバーで動かします。変更は、他社製コントロール・Win32 API・EXE 呼び出しなど、ブラウザでは動かない部分が中心です。

Steps

Web 化までの 3 ステップ

.NET Framework デスクトップアプリケーション(Windows Forms)の場合

STEP 1

.NET 10 へ移行

変換ツールで、.NET Framework のプロジェクトとソースを .NET 10 へ移行します。デスクトップ版(Windows Forms)として動作を確認します。

→ デスクトップ版の完成

STEP 2

Web 化に向けた変更

他社製コントロールを弊社ライブラリへ置き換え、Win32 API・EXE 呼び出しなど、ブラウザでは動かない部分を変更します。

→ 同じソースのまま

STEP 3

Web 版の構築・テスト

Blazor Server 上で動かし、RPA で、現行と同じ画面・同じデータが表示されるかを確認します。

→ ブラウザで利用開始

STEP 1 が終わった時点で、.NET 10 のデスクトップ版として本番利用できます。Web 化は、必要な業務・画面から段階的に進められます。

ステップ 1:.NET 10 への移行で行うこと

変換ツールで機械的に置き換え、残りを個別に確認・対応します。

項目内容対応
プロジェクト形式旧形式の .csproj / .vbproj を SDK 形式に変換し、ターゲットを .NET 10(net10.0-windows)に変更変換ツール
参照・NuGet パッケージpackages.config を PackageReference に変更。.NET 10 対応版へ更新し、対応版がないものは代替を選定変換ツール+確認
設定ファイルapp.config の接続文字列・アプリ設定は、ConfigurationManager パッケージで引き続き読み込み変換ツール
.NET 10 で使えない機能BinaryFormatter、.NET Remoting、AppDomain の分離、WCF のサーバー機能などを代替の方法へ書き換え変換ツール/手作業
データアクセスADO.NET はそのまま利用。Entity Framework 6 も .NET 10 で動作(EF Core への移行は任意)確認のみ
帳票・他社製品帳票製品や他社製ライブラリの .NET 10 対応状況を確認。対応版がない場合は置き換えを検討お客様と方針決定
自社の C++ / COM 部品ネイティブ DLL・COM 部品の呼び出し方法と、32bit / 64bit の扱いを確認個別に確認

※ 対応の区分は、事前の分析の結果をもとに確定します。この段階で、デスクトップ版(Windows Forms)として動く状態にします。

Key points

Web 化で変更が必要になる 3 つのポイント

Web 版は、サーバー上の WinForms 互換モデルで画面を動かします。互換モデルの外にあるものは変更が必要です。

① 他社製コントロール

例:グリッド、日付・数値の入力部品、グラフなど

なぜ変更が必要か

他社製コントロールは、ソースコードがないため、Blazor サーバーに対応することができません。

対応方法

弊社で提供するライブラリに変更します。

② Win32 API

例:SendMessage・FindWindow などのウィンドウ操作、キー状態の取得、ネイティブ DLL など

なぜ変更が必要か

Web 版の画面には Windows のウィンドウハンドルがありません。また、処理はサーバーで動くため、利用者の PC の状態には触れられません。

対応方法

.NET の標準機能や弊社ライブラリの代替に置き換えます。サーバーで動かしてよい処理は残し、利用者の PC に依存する処理を見直します。

③ EXE 呼び出し

例:Process.Start による別アプリの起動、Excel・PDF ビューアーの起動、外部ツールとの連携など

なぜ変更が必要か

Web 版ではプログラムがサーバーで動くため、EXE を起動してもサーバー上で起動され、利用者の画面には表示されません。

対応方法

呼び出し先ごとに方針を決めます。ファイルをダウンロードして開く/サーバー側の処理として実行する/呼び出し先のアプリも同じ方法で Web 化する、など。

このほか、ローカルファイルの読み書き、プリンターへの直接印刷、スキャナーなどの周辺機器も、ブラウザ経由の扱いに見直しが必要です。

Analysis

変更箇所の洗い出し ― 分析ツールで事前に把握

弊社の分析ツールでソースを解析し、変更が必要な箇所と工数を、お見積りの前に洗い出します。結果は Excel レポートで提出します。

検出した箇所を 4 つに区分

  1. 変換ツールで自動変換
  2. 弊社ライブラリで吸収
  3. 手作業で修正
  4. お客様と方針を決定

レポートの主な内容

  • 画面数と複雑度(高・中・低)
  • 画面ごとの他社製コントロール
  • Win32 API(P/Invoke)の一覧
  • EXE 呼び出し・外部連携
  • .NET 10 で使えない機能
  • 参照・NuGet パッケージ
  • 言語別のコード行数
  • 工数の見積り(係数で調整可)

区分ごとの件数が、そのまま工数とお見積りの根拠になります。解析はお客様の環境、または秘密保持契約のもとで行います。ソースを外部の AI にアップロードすることはありません。

Desktop or Web

デスクトップ版と Web 版の比較

どちらを選ぶかは「何を優先するか」で決まります。同じソースから両方を動かせます。

比較項目デスクトップ版(.NET 10 / Windows Forms)Web 版(Blazor Server)
利用環境Windows PC にインストールして利用ブラウザ(Edge・Chrome など)で利用。サーバーは Windows が前提
配布・更新各 PC への配布が必要(ClickOnce などで自動更新は可能)サーバーに配置するだけ。PC への配布は不要
画面・操作感現行の .NET Framework 版とほぼ同じデスクトップ版と同じ画面をサーバーで描いて表示。入力欄はブラウザの入力欄を使う
帳票印刷プリンターへ直接出力できるPDF を出力してブラウザから印刷するのが基本
ファイル・周辺機器ローカルファイルや周辺機器を直接扱えるブラウザの制約があり、扱い方の見直しが必要
利用場所社内ネットワークが中心テレワーク・複数拠点から利用しやすい。反応の速さはネットワークに左右される
利用者数の目安各 PC で動くため、サーバー負荷の制約はないサーバー負荷のため、50 名程度までを推奨
向いているシステム画面数の多い基幹系・現場の入力業務社外や多拠点で使うシステム・照会が中心の業務

Web 版に移行しても、デスクトップ版は使い続けられます。必要な業務から、ブラウザでの利用を広げられます。

Architecture

Web 版(Blazor Server)の仕組み

画面はサーバーの中だけで動き、ブラウザにはその「見た目」を送ります。デスクトップ版と同じソースで動きます。

ブラウザ コントロールの絵PNG(変わった分だけ) 入力欄本物の input / textarea 枠・メニュー・メッセージボックスHTML で組み立て クライアントスクリプト操作をサーバーへ送信 画面の差分 SignalR(WebSocket) クリック・キー入力 フォーカスの移動 Windows サーバー 受付プロセスブラウザごとに振り分け 作業用プロセス(ブラウザごとに1つ) 移行後のアプリ デスクトップ版と同じ C# WinForms 互換モデル System.Windows.Forms(HWND なし) 専用スレッド+メッセージキュー WinForms と同じ順序でイベント GDI+ で描画 WM_PAINT のタイミングで PNG に
01

サーバーで WinForms 互換モデルを動かす

弊社ライブラリの互換モデル上で、WinForms と同じ順序でイベントを起こします。MessageBox なども同期のまま動きます。

02

見た目は「絵」と HTML で送る

コントロールは GDI+ で PNG に描き、変わった分だけ送ります。入力欄はブラウザの本物の入力欄なので、日本語入力もそのまま使えます。

03

操作はウィンドウメッセージにして戻す

クリックやキー入力をサーバーでウィンドウメッセージとして流すので、デスクトップ版と同じように反応します。

04

利用者ごとにプロセスを分ける

静的変数などに状態を持つアプリでも利用者どうしが干渉しないよう、ブラウザごとに作業用プロセスを起動します。

メリット:移行後のコードを書き換えずに、デスクトップ版と同じソースからブラウザで動かせます。

注意点:通信量と反応の速さはネットワークに左右されます。描画に GDI+ を使うため Windows サーバーが前提です。サーバー負荷のため、50 名程度までを推奨します。

Other desktop apps

その他デスクトップアプリケーションの場合

VB6・Delphi・PowerBuilder などは、一度 .NET(C# / Windows Forms)に変換してデスクトップ版で動作を確認してから、同じ方法で Web 化します。

VB6

変換の方法

gmStudio で、VB6 を C# / Windows Forms へ変換します。COM / ActiveX・Win32 API・VB6 の組み込み関数も置き換えます。

特に確認すること

  • ActiveX(OCX)部品
  • 32bit を前提にした処理
  • Win32 API の直接呼び出し
VB6・Classic ASP 移行 →

Delphi

変換の方法

資産を解析したうえで、AI で開発する変換ツールにより C# へ変換します。移行方式は、資産を拝見してからご提案します。

特に確認すること

  • VCL の他社製コンポーネント
  • データベース接続部品(BDE など)
  • Win32 API の直接呼び出し
その他の移行 →

PowerBuilder

変換の方法

自社開発の変換ツールで C# へ変換します。DataWindow の動きは、弊社ライブラリの DataWindow 互換部品で再現します。

特に確認すること

  • DataWindow の動的な変更(Describe / Modify)
  • OCX・外部 DLL
  • 帳票
PowerBuilder 移行 →

変換の段階で、Web 化で変更が必要になる部品も合わせて洗い出し、手戻りを減らします。

Process

変換プロセス ― AI で変換ツールを開発する

ソースを変換するのは変換ツールです。AI は、その変換ツールを開発・改良するために使います。同じソースからは常に同じコードが生成され、移行期間中に現行ソースが更新されても、同じ品質で再変換できます。AI が扱うのは変換ツールのソースと問題の内容で、お客様のソースは社内の環境から出ません。変換結果は RPA で繰り返しテストします。

AIドリブン・モダナイゼーションの詳細 →
Project

プロジェクトの進め方

分析と試験移行で方針を固めてから、.NET 10 移行 → Web 化の順に進めます。

PHASE 0

分析・PoC

分析ツールで資産を解析。代表画面で .NET 10 移行と Web 版を試し、方針とお見積りを確定します。

PHASE 1

.NET 10 移行

変換ツールで移行し、デスクトップ版として動作を確認します。この時点で本番利用も可能です。

PHASE 2

Web 化に向けた変更

他社製コントロールの置き換え、Win32 API・EXE 呼び出しの変更を行います。

PHASE 3

Web 版の構築・テスト

サーバーの構築、セッション管理の追加、RPA による画面比較テストを行います。

PHASE 4

本番移行

業務・拠点ごとに Web 版へ切り替えます。デスクトップ版との併用もできます。

※ 各フェーズの期間・工数は、資産の規模と使用部品の構成により変わります。Phase 0 の結果をもとに確定します。

テスト時にご用意いただくもの:① 現行システムの画面スクリーンショット(目安:画面数 × 5 枚) ② そのスクリーンショットを取得した時点と同じデータが入ったデータベース。

Service menu

サービスメニュー

ゴールに合わせて、3 つのメニューからお選びいただけます。

MENU A

.NET 10 移行

デスクトップ版として動く状態で納品

  • 分析ツールによる資産の解析と見積り
  • 変換ツールによる .NET 10 への移行
  • デスクトップ版で動作を確認
  • Web 化は後から追加できます
推奨 MENU B

.NET 10 移行+Web 化

デスクトップ版と Web 版の両方を納品

  • MENU A の内容をすべて含む
  • 他社製コントロールの置き換え
  • Win32 API・EXE 呼び出しの変更
  • Web 版の構築とテスト(Blazor Server)
  • RPA による画面比較テスト
MENU C

旧言語からの Web 化

VB6・Delphi・PowerBuilder が対象

  • 旧言語のソースを .NET(C#)へ変換
  • 以降は MENU B と同じ手順で Web 化
  • Web 化せず、.NET 化だけでも可能

オプション

  • 設計書の作成(移行後のソースから)
  • 移行後の運用保守
  • 社内 AI サーバーの構築
  • 帳票の置き換え
Prerequisites

前提条件と注意点

Web 版をご検討いただく際に、あらかじめご確認いただきたい点です。

前提条件

  • Web 版のサーバーは Windows Server が前提です(描画に GDI+ を使用)
  • 利用者数は 50 名程度までを推奨します。超える場合は、デスクトップ版との併用、または個別にご相談ください
  • 利用者ごとのセッション管理の機能を追加します
  • テストには、現行画面のスクリーンショットと、取得時と同じデータのデータベースをご用意いただきます
  • 他社製品の .NET 10 対応版のライセンス費用は含みません

ご注意いただきたい点

  • 反応の速さと通信量は、ネットワークの状況に左右されます
  • 帳票は、PDF を出力してブラウザから印刷するのが基本です
  • ローカルファイル・周辺機器は、ブラウザ経由の扱いに見直しが必要です
  • EXE 呼び出しは、呼び出し先ごとに方針を決める必要があります
  • インターネットに公開する場合は、認証や通信の暗号化などのセキュリティ対策を別途検討します
Next step

次のステップ

まずは資産を拝見し、Web 化の範囲と進め方をご提案します。

STEP 1

資産の解析

ソース一式をご共有いただき、分析ツールで画面数・他社製コントロール・Win32 API・EXE 呼び出しを洗い出します。秘密保持契約は先に締結します。

STEP 2

PoC(試験移行)

代表画面で .NET 10 移行と Web 版を試し、操作感と反応の速さを実際にご確認いただきます。

STEP 3

移行計画とお見積り

解析と PoC の結果をもとに、範囲・進め方・お見積りをご提示します。

ソースを社外に出せない場合は、画面数・使用している他社製コントロール・外部連携の一覧をご提供いただければ、概算をご提示します。

Contact

まずは .NET Framework のバージョンと画面数をお聞かせください

お使いの開発基盤のバージョンと画面数だけでも、初期のご回答をお返しします。秘密保持契約の締結にも対応します。

TEL 03-5962-3776