タグ「.NET」の記事
「.NET」タグが付いた記事の一覧です(60件)。新しい順に掲載しています。
-
PowerShellからCOMと.NETを呼ぶ実践 ── スクリプトの届く範囲を一気に広げる
PowerShellから.NETクラスを呼ぶ方法、Add-TypeによるC#とWin32 APIの組み込み、COM操作、Excelのプロセス残留と後始末、Officeの無人実行が非サポートである理由、5.1と7の違いまで実務目線で解説します。
-
業務システムのコード設計 ── 商品コード・顧客コードの決め方とチェックディジット
商品コード・顧客コードなど業務システムのコード体系を決める実践ガイド。有意コードと無意味連番の判断表、JAN・Luhn等のチェックディジット算式とC#実装、Excelの0落ち対策、桁あふれと移行まで整理します。
-
DLL・COMインターフェースの後方互換性 ── どの変更が呼び出し側を壊すのかの判断表
DLLやCOMコンポーネントのどの変更が呼び出し側を壊すのか。バイナリ互換・ソース互換・動作互換の3層を整理し、変更内容別の判断表、COMインターフェース不変の鉄則、semver運用までを実務ガイドとしてまとめます。
-
業務アプリのDBスキーマをバージョン管理する ── 「客先ごとにDBが違う」を防ぐマイグレーションの実践
客先ごとに分散する業務アプリのDBスキーマをバージョン管理する実践ガイド。PRAGMA user_versionと前進マイグレーションのC#実装、EF Core Migrations・DbUp・自前実装の判断表、2段階リリースまで整理します。
-
WinForms / WPFアプリのCI/CD実践 ── GitHub Actionsでビルドから署名・配布まで自動化する
WinForms / WPFアプリのCI/CDをGitHub Actionsで組む実務ガイド。windows-latestでのビルド+テストの最小YAML、タグ駆動のバージョン採番、signtoolによる署名の組み込み、MSI/MSIX/ClickOnce/xcopy別のCI統合判断表をまとめます。
-
テストのないレガシー業務アプリに安全に手を入れる ── 特性化テストとリファクタリングの実践
テストのない業務アプリに安全に手を入れるために、現在の挙動を固定する特性化テスト(ゴールデンマスター法)の手順、継ぎ目(seam)の作り方、リファクタリングと機能追加を混ぜない運用ルールをC#の例で解説します。
-
自社開発のWindowsアプリがウイルス扱いされたら ── Microsoft Defenderの誤検知対応と、性能影響との付き合い方
自社開発のWindowsアプリがMicrosoft Defenderに誤検知されたときの正規の対処を整理します。現代のウイルス対策の仕組み、Microsoftへの誤検知報告、隔離からの復元、除外設定の正しい入れ方とリスクまで解説します。
-
スリープ・休止・Modern Standbyと長時間稼働アプリ ── 「夜中に止まっていた」を設計で防ぐ
長時間動き続けるWindowsアプリが「朝見たら止まっていた」となる原因を、S3スリープ/休止/Modern Standbyの違いから整理します。スリープ中のタイマーやTCP接続の挙動、SetThreadExecutionStateによる抑止まで解説します。
-
Arm版Windowsで業務アプリは動くのか ── x64エミュレーション(Prism)とネイティブDLL・COMの現実
「Arm版Windowsで業務アプリは動くのか」に開発者・情シス向けに答えます。x64エミュレーション(Prism)の仕組み、ドライバーなど動かない層、.NETのAnyCPUとP/Invokeの問題、Arm対応チェックリストまで整理します。
-
MAX_PATHとWindowsのパス・ファイル名の落とし穴 ── 260文字制限、予約名、末尾ドット、大文字小文字
「ファイルが見つかりません」の定番原因であるパス・ファイル名の制限を整理します。MAX_PATH=260文字の内訳、LongPathsEnabledによる長パス有効化、CON等の予約名、末尾ドットの正規化、Path.Combineの罠まで解説します。
-
ネットワークドライブとUNCパスの落とし穴 ── 業務アプリでファイルサーバー(共有フォルダ)を扱う実務
業務アプリから共有フォルダへ出力・監視するときの定番トラブルを整理します。ドライブ文字(Z:)がサービスから見えない理由、実行アカウントごとに必要な権限、エラー1219、FileSystemWatcherの注意点まで解説します。
-
Windowsアプリのタスクトレイ常駐とトースト通知 ── NotifyIconの落とし穴とAppNotificationの選び方
業務Windowsアプリのタスクトレイ常駐とトースト通知の実装を整理します。NotifyIconの正しい使い方、Explorer再起動時の再登録、トーストAPI3種の選定判断表、通知が届かないケースまで解説します。
-
VB6アプリはいつまで動くのか ── ランタイムのサポート状況と現実的な.NET移行の進め方
VB6アプリはいつまで動くのか。ランタイムはWindows 11でも動作対象、IDEはサポート終了という現状を整理し、全面リライト・自動変換・段階移行の判断表、移行前の棚卸し、VB6と.NETの非互換までをまとめます。
-
業務アプリの和暦・祝日・締め日処理 ── 改元に強い設計とJapaneseCalendar・営業日計算の実務
和暦表示・祝日を除く営業日計算・締め日処理という日本の業務アプリ特有の日付処理を整理します。JapaneseCalendarと改元に強い設計、内閣府CSVによる祝日マスタ運用、AddMonthsの丸めを踏まえた締め日計算まで解説します。
-
WinForms/WPFアプリの多言語化 ── resx・サテライトアセンブリ・カルチャ切り替えの実務
Windowsデスクトップアプリの多言語化を整理します。CurrentCultureとCurrentUICultureの違い、resxとサテライトアセンブリの仕組み、WPFでの現実的な方式選択、実行時の言語切り替え、書式・RTLまで解説します。
-
CSVは「ただのテキスト」ではない ── C#業務アプリのCSV実務(文字コード・Excel互換・インジェクション対策)
業務アプリのCSV入出力の典型事故──Split(',')自作パース、BOMなしUTF-8の文字化け、先頭ゼロ落ち──を整理し、RFC 4180のルール、Shift_JISの扱い、TextFieldParserによる安全な読み込みまで解説します。
-
HttpClientをusingで囲んではいけない ── C#業務アプリのHTTP通信実務(生成パターン・タイムアウト・リトライ)
C#のHttpClientは毎回usingで生成するとソケット枯渇、staticにするとDNS変更に追従しません。PooledConnectionLifetimeとIHttpClientFactoryによる正しい生成パターン、タイムアウト設計、リトライまで整理します。
-
PerfViewとdotnet-traceで「遅い」を特定する ── .NETパフォーマンス調査の実務入門
業務アプリが「遅い」「CPUが張り付く」とき、どのツールで何を見るか。PerfViewとdotnet-traceの役割分担、CPUサンプリングの読み方、ThreadTimeによるブロック時間の調査まで、実務の調査手順を整理します。
-
Windowsイベントログ・ETW入門 ── 業務アプリのログをOS標準の仕組みに乗せる
イベントログとETWは、運用担当者やOS標準ツールから見える別レイヤーの記録です。ファイルログを含む3手段の使い分け、.NETからの書き込み方法、EventSourceによるETW計装、収集・調査の実務と落とし穴まで解説します。
-
appsettings.jsonだけじゃない ── Windows業務アプリの構成管理実務(環境別設定・秘密情報・書き込み先)
Windows業務アプリの構成管理を整理します。appsettings.jsonの階層化、IOptions/IOptionsMonitorの使い分け、環境別設定、書き込み可能な設定の置き場所、秘密情報の扱い、app.configからの移行まで解説します。
-
Windows業務アプリの印刷とPDF出力 ── System.Drawing.Printing / WPF / 帳票ライブラリの使い分け
PrintDocumentによるWinForms印刷、WPFのFlowDocument/FixedDocument印刷、PDF出力の選択肢を要件別の判断表で整理します。改ページ制御やDPIのずれ、Windowsサービスからの印刷の危険まで解説します。
-
OSI参照モデルをはっきりイメージする ── HTTPリクエスト1個を7層に解剖する
OSI参照モデルを実物で理解します。HTTP GETリクエストを運ぶEthernetフレームをC#で組み立てて解剖し、7層が入れ子になっている様子をWiresharkで確認します。各層と.NET APIの対応、障害切り分けまで整理します。
-
Windowsのセッション分離をどう理解するか ── Session 0・RDP・複数ユーザー同時実行
Windowsアプリ開発者が混乱しがちな「セッション」の概念を整理します。サービスがUIを出せないSession 0分離の理由、RDP接続時のセッションの挙動、名前付きオブジェクトのセッション分離、共有PC・RDS環境でありがちな設計ミスまでを実務目線で解説します。
-
WinDbg + SOSでクラッシュダンプを読む ── 収集した後の実務解析入門
WindowsクラッシュダンプをWinDbgとSOS拡張で読む手順を解説します。シンボルパスの設定、!clrstackや!dumpheapによる例外とメモリリークの追い方、!analyze -v、dotnet-dump analyzeとの使い分けまで整理します。
-
Windowsアプリの多重起動防止 ── 名前付きMutexと二重起動時のアクティブ化
業務Windowsアプリの多重起動防止を名前付きMutexで実装する方法を整理します。Global\とLocal\の違いによるRDP環境の落とし穴、AbandonedMutexException、既存インスタンスの前面化まで解説します。
-
C#からWin32 APIを安全に呼ぶ ── P/Invoke実務ガイド(DllImport / LibraryImport / CsWin32)
C#からWin32 APIをP/Invokeで呼ぶ実務ポイントを整理します。DllImportとLibraryImportの違い、CsWin32による自動生成、文字列マーシャリングの罠、SafeHandle、32/64bit差異まで実装例つきで解説します。
-
WinForms/WPFアプリにEntra ID認証を組み込む ── MSAL.NETとWAMブローカーの実務構成
WinForms/WPFデスクトップアプリにEntra ID認証を組み込む手順を整理します。パブリッククライアントの考え方、アプリ登録、MSAL.NETのAcquireTokenSilent、WAMブローカー、トークンキャッシュの永続化まで解説します。
-
業務アプリの日時とタイムゾーン ── DateTimeの罠からUTC保存の原則、テスト設計まで
サーバー移設で時刻が9時間ずれる──日時事故の原因をDateTimeのKindと暗黙変換から整理します。DateTimeOffsetとの使い分け、UTC保存の原則、TimeZoneInfoと夏時間、TimeProviderによるテスト設計まで解説します。
-
WindowsデスクトップアプリのUI自動テスト ── UI Automationの仕組みとFlaUIで作る壊れにくいテスト
WinForms/WPFアプリのUI自動テストを、Windows UI Automationの仕組みから整理します。FlaUIによる最小実装、AutomationId設計と条件待機で壊れにくくする方法、CI無人実行の罠まで実務目線で解説します。
-
WPFの高DPI対応 ── 「DPIに強いはず」なのにぼやける・にじむ原因と対処
WPFはSystem DPI Awareですが、DPIの違うモニターへ移すと全体がにじみ、ビットマップはぼやけます。原因の切り分け、Per-Monitor DPI対応、UseLayoutRoundingなど定番対処、WindowsFormsHost混在の罠まで整理します。
-
C#のExcel操作でEXCEL.EXEが残る問題 ── COM参照の解放パターンと置き換えの判断
C#からExcelをCOM操作するとEXCEL.EXEプロセスが残る問題を、COM参照カウントとRCWの仕組みから整理します。2ドットルールの罠、ReleaseComObjectとGCによる解放パターン、置き換え判断まで解説します。
-
WinFormsの高DPI対応 ── 4Kモニターでぼやける・崩れる原因と現実的な対処
4KモニターでWinFormsアプリがぼやける・崩れる原因を、DPI仮想化とDPI認識モード(System Aware / Per-Monitor V2)から整理します。.NETと.NET Frameworkの設定方法、AutoScaleModeの罠まで解説します。
-
Windowsのプロセス間通信をどう選ぶか ── 名前付きパイプ / TCP / gRPC / 共有メモリ / COM 判断表
Windowsアプリ同士の連携手段をどう選ぶか。名前付きパイプ、ローカルTCP、gRPC、共有メモリ、ファイル連携、COMの得意分野と落とし穴を判断表で整理し、定番構成と名前付きパイプの実装例まで解説します。
-
C#でSQLiteを業務アプリに使う ── WALモード・排他制御・破損対策・EF Coreとの使い分け
Microsoft.Data.SqliteでSQLiteを業務アプリに組み込む実務知識を整理します。WALモード、SQLITE_BUSYと書き込み一本化、型マッピングの罠、VACUUM INTOによるバックアップ、EF Coreとの使い分けまで解説します。
-
Windowsサービスの作り方と運用 ── タスクスケジューラとの使い分けからBackgroundServiceのサービス化まで
常駐処理をWindowsサービスにすべきか、タスクスケジューラで足りるのか。判断表と.NET Worker Serviceによるサービスの作り方、実行アカウント・回復オプション・安全な停止処理まで実務目線で整理します。
-
IEモードの次はWebView2でいいのか ── ActiveXが動かない制約と現実的な移行設計
WebView2の基本構造、EvergreenとFixed Versionの配布戦略、ユーザーデータフォルダーの罠、ネイティブとWebの連携方法、そして「ActiveXは動かない」という制約を踏まえたIEモード依存システムからの現実的な移行順序を、社内システム目線で整理します。
-
Windowsアプリのデータ保存先の選び方 ── SQLite / JSON / レジストリ / Access 判断表
Windowsデスクトップアプリのデータをどこに・何で保存するか。AppData/ProgramDataの使い分け、SQLite・JSONファイル・レジストリ・Access(.accdb)それぞれの得意分野と落とし穴を判断表つきで整理し、破損対策やビット数問題まで実務目線で解説します。
-
PDB(プログラムデータベース)とは何か ── デバッグ情報・シンボル・Source Linkを理解する
PDB(Program Database / プログラムデータベース)とは何か、何が入っていて何が入っていないのか、Debug / Release、Portable PDB、Source Link、シンボルサーバー、ダンプ解析との関係まで実務向けに整理します。
-
Roslynとは何か ── C#コードをコンパイラの視点で読む・直す・生成する
Roslyn(.NET Compiler Platform)の概要、Syntax Tree、SemanticModel、Workspace、Analyzer、Source Generator、実務での使いどころと注意点を整理します。
-
Windowsアプリ 外注・受託開発を依頼する前に整理したいこと
Windowsアプリの外注・受託開発を依頼する前に、既存ソフト改修、装置連携、COM/ActiveX、配布・更新、保守の整理ポイントを解説します。
-
代数的データ型を.NET Framework / .NETで使う ── 状態と結果を型で表す設計
代数的データ型、特に直和型・判別共用体を.NET Frameworkや.NETで使う方法とメリットを、F#、C#のクラス階層、record、OneOf、C# 15 union previewまで含めて整理します。
-
Windowsの偽装トークンを正しく扱う ── スレッド単位の権限借用と安全な戻し方
Windowsの偽装トークンについて、アクセストークン、プライマリトークン、スレッドトークン、偽装レベル、RevertToSelf、.NETのWindowsIdentity.RunImpersonatedまで、実務で安全に扱うための考え方を整理します。
-
TCPでSendした単位ごとにReceiveできるという誤解 ── バイトストリームとして扱うための受信設計
TCP通信で、SendやWriteした単位ごとに受信できると思い込むと、分割・結合・文字化け・プロトコル破損が起きます。TCPをバイトストリームとして扱い、アプリケーション側でフレーミングする考え方と、.NET/C#での実装例を整理します。
-
.NETでGC待ちとメモリリークを見分ける ── 増えるメモリを観測・比較・証明する実務手順
.NETアプリケーションで、メモリが増えている理由がガベージコレクション待ちなのか、本当にメモリリークしているのかを、dotnet-counters、dotnet-gcdump、dotnet-dumpを使って切り分ける手順を整理します。
-
C#(CSharp)でPowerShellを実行して、オブジェクトとして受け取る方法
C#からPowerShellを起動し、文字列ではなくPSObjectとして結果を受け取る方法を、PowerShell SDK、AddCommand、AddParameter、BaseObject、Properties、エラー処理まで実務目線で整理します。
-
Windowsはなぜ今の形になったのか:開発者から見た歴代Windowsの進化
Windows 95からWindows 11までの変化を、見た目の年表ではなく、互換性、安定性、権限管理、ドライバ、Win32、.NET、セキュリティなどWindowsアプリ開発者の視点で整理します。
-
ClickOnce とは何か - 仕組み、更新、向いている場面・向いていない場面を実務目線で整理
.NET の Windows デスクトップアプリ配布で使われる ClickOnce について、マニフェスト、更新、キャッシュ、署名、向いている案件・向いていない案件を Mermaid 図つきで整理します。
-
Windowsアプリで子プロセスを安全に扱うチェックリスト
Windows アプリで子プロセスを安全に扱うには、起動 API よりもプロセス木の所有権と終了手順の設計が重要です。Job Object、終了伝播、標準入出力、watchdog を整理します。
-
Windowsアプリの1ファイル配布 - シングルバイナリとOS依存の限界
Windows アプリを 1 EXE に寄せたいとき、配布物を 1 個にすることと OS 依存を消すことの違いを、.NET、C++、WebView2、WinUI、サービス、ドライバまで整理します。
-
シリアル通信アプリの落とし穴 - 再接続とログ設計まで
装置連携や計測器制御で避けたいシリアル通信アプリの落とし穴を、フレーミング、タイムアウト、RTS/CTS、DTR/RTS、再接続、ログ設計まで実務目線で整理します。
-
.NET Frameworkから.NETへの移行前チェックリスト
.NET Frameworkから.NETへ移行する前に、プロジェクト種別、未対応技術、NuGet依存、SDKスタイル、WPF/WinForms、CI/CD、運用を確認する実務チェックリストです。
-
.NET Generic Hostとは - DI・設定・ログの土台
Generic Host の役割を、DI、設定、ログ、IHostedService、BackgroundService の関係から整理し、どこで効いてどこでは過剰かを実務目線でまとめます。
-
.NET Native AOTとは - JITやtrimmingとの違い
Native AOT とは何かを、JIT、ReadyToRun、self-contained、single-file、trimming、source generator との違いから整理し、向いているケースと厳しいケースを実務目線でまとめます。
-
.NETタイマー3種の使い分け - PeriodicTimer/Timer/DispatcherTimer
PeriodicTimer / System.Threading.Timer / DispatcherTimer の違いと、async 処理、ThreadPool callback、WPF の UI 更新でどう使い分けるかを整理します。
-
C# Native AOT DLLをC/C++から呼び出す方法
C# のクラスライブラリを Native AOT でネイティブ DLL として発行し、UnmanagedCallersOnly のエントリポイントを C/C++ から呼び出す構成を、使いどころと実装パターンと注意点から整理します。
-
.NET Generic HostとBackgroundServiceをデスクトップアプリで使う理由
Windows ツールや常駐アプリで起動、定期処理、終了処理、ログ、設定、DIを整理するために、Generic HostとBackgroundServiceをどう使うかまとめます。
-
ActiveX / OCX を今どう扱うか - 残す・包む・置き換える判断表
ActiveX / OCX を見つけたときに、残す・包む・置き換えるのどれを選ぶべきかを、32bit / 64bit、登録、ブラウザ依存、ベンダー保守まで含めて整理します。
-
WPF/WinFormsのasyncとUIスレッドを一枚で整理
WPF / WinForms で await 後の戻り先、Dispatcher / Invoke、ConfigureAwait(false)、.Result / .Wait() の詰まりどころを整理します。
-
FileSystemWatcher実務ガイド - 取りこぼしと重複対策
FileSystemWatcher の使い方と注意点を、取りこぼし、重複通知、完了判定の落とし穴、再スキャン、原子的 claim、idempotency の観点から整理します。
-
C# async/await実務判断表 - Task.RunとConfigureAwait
C# async/await のベストプラクティスを、I/O 待ち、CPU 計算、Task.Run、ConfigureAwait(false)、fire-and-forget の判断表つきで整理します。