Skip to content

バージョンアップ(1.4 → 1.5、.NET 8 → 10) ​

第3版作成 最終更新 (日本時間)
確認バージョン1.4.22.01.5.8.1

プリザンターは .NET の LTS リリース(2 年に 1 回)に合わせてターゲットフレームワークを更新しており、1.5 系で .NET 8 から .NET 10 に変わりました。このページでは 1.4 系から 1.5 系に上げるときの注意点と、.NET 10 への移行で確認した破壊的変更の影響をまとめます。

TIP

大きくバージョンが変わるときは、公式の インストール関連のマニュアル を必ず確認してください。以下の注意点も記載はありますが、深い階層にあるため探さないと見つかりません。

1.4 系 → 1.5 系の注意点 ​

Rds.json の接続文字列(SQL Server) ​

使用する ADO.NET ドライバが System.Data.SqlClient から Microsoft.Data.SqlClient に変わり、接続パラメータ Encrypt の既定が No から Yes に変わりました(公式マニュアル)。

Encrypt が有効だと接続時に証明書が検証されるため、オンプレミスなど証明書をインストールしていない環境では接続に失敗する可能性があります。Rds.json の接続文字列の末尾を次のいずれかに変更すると回避できます。

text
(設定済みの接続文字列);Encrypt=No;
text
(設定済みの接続文字列);TrustServerCertificate=Yes;
追加するパラメータ動作
Encrypt=No暗号化接続を行わない
TrustServerCertificate=Yes暗号化接続は行うが証明書検証を省略する

証明書をインストールするのが望ましく、上記は当面の回避策です。

Operations Tools の更新 ​

.NET 10 への変更により、従来の 1.3 系の Operations Tools は動作しません。1.4 系以降の Operations Tools を使ってください。Operations Tools については Operations Tools と SQL デバッガー も参照してください。

.NET 8 → .NET 10 への移行 ​

正式な 1.5 系リリース前に、1.4.22.0(2025/11/24 時点の最新版)のソースを .NET 10 に移行してビルド・動作確認した結果です。

ソースの変更点 ​

プロジェクトファイルのターゲットフレームワークを置き換えます(置換対象は 13 箇所)。

diff
-    <TargetFramework>net8.0</TargetFramework>
+    <TargetFramework>net10.0</TargetFramework>

Visual Studio でのビルドの都合で設定されている global.json も書き換えます。

diff
 {
     "sdk": {
-        "version": "8.0.100",
+        "version": "10.0.100",
         "allowPrerelease": false,
         "rollForward": "latestFeature"
     }
 }

これでビルドは成功し(警告は .NET 8 のときから出ていたものなので無視してよい)、ログインまで問題なく動作しました。

正式版の 1.5.8.1 では、14 個のプロジェクトファイルすべてが net10.0 になっており、global.json の SDK も 10.0.100 です(global.json)。

破壊的変更の影響確認 ​

Microsoft の .NET 10 の破壊的変更 を元に、プリザンターへの影響を確認した結果です。この一覧はリリース後もしばらく更新が続くため、継続して確認が必要です。

要確認の項目 ​

分類変更内容影響
Core .NET ライブラリLDAP DirectoryControl の解析がより厳格にLDAP サーバーを使った SSO を使用している場合は影響の可能性あり。検証環境では問題なかったが、環境固有の実装によっては要調査
CryptographyUnix で OpenSSL 1.1.1 以降が必要実行環境を要確認(ほとんどの場合は問題ないはず)

影響なし・軽微と判断した主な項目 ​

分類変更内容判断
ASP.NET CoreIActionContextAccessor / ActionContextAccessor の廃止未使用
ASP.NET Core既知の API エンドポイントで Cookie ログインリダイレクトが無効に(401/403 応答に変更)対象は ApiController で、むしろ望ましい変更
Containers既定の .NET イメージが Debian から Ubuntu にUbuntu でも問題なし
Core .NET ライブラリ一般数学におけるシフト動作の統一シフトはパーミッションマスクで使用しているが、影響の出る使い方ではない
Core .NET ライブラリ既定の終了シグナルハンドラーが提供されなくなったAppDomain.ProcessExit 等のイベントハンドリングは未実装
ExtensionsBackgroundService がすべての ExecuteAsync をタスクとして実行プリザンターの BackgroundService は内部で Quartz.NET を使っており、ライブラリ依存
シリアル化System.Text.Json がプロパティ名の競合をチェック主なシリアライザは Newtonsoft.Json。ただし 1.5.8.1 では MCP サーバや SMTP の OAuth トークン処理など一部で System.Text.Json も使っている(Implem.Pleasanter の 13 ファイル)
ネットワークUri 長さの制限が削除条件緩和の方向

このほか、FilePatternMatch、InlineArray、ActivitySource、BufferedStream、DriveInfo、GnuTarEntry/PaxTarEntry、X500DistinguishedName、GetKeyedService()、XmlSerializer、ReadAsStreamAsync などに関する変更は、該当機能を使用していないため影響なしと判断しています。Entity Framework Core・Interop・WPF・Windows フォームは未使用です。

関連ページ ​

変更履歴

第3版「構築・運用」を 1.5.8.1 のソースで検証して修正
第2版記事のファイル名に並び順の番号を付け、元記事リンクを frontmatter の sources に移行
第1版「構築・運用」セクションの記事を追加