バージョンアップ(1.4 → 1.5、.NET 8 → 10)
プリザンターは .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 の接続文字列の末尾を次のいずれかに変更すると回避できます。
(設定済みの接続文字列);Encrypt=No;(設定済みの接続文字列);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 箇所)。
- <TargetFramework>net8.0</TargetFramework>
+ <TargetFramework>net10.0</TargetFramework>Visual Studio でのビルドの都合で設定されている global.json も書き換えます。
{
"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 を使用している場合は影響の可能性あり。検証環境では問題なかったが、環境固有の実装によっては要調査 |
| Cryptography | Unix で OpenSSL 1.1.1 以降が必要 | 実行環境を要確認(ほとんどの場合は問題ないはず) |
影響なし・軽微と判断した主な項目
| 分類 | 変更内容 | 判断 |
|---|---|---|
| ASP.NET Core | IActionContextAccessor / ActionContextAccessor の廃止 | 未使用 |
| ASP.NET Core | 既知の API エンドポイントで Cookie ログインリダイレクトが無効に(401/403 応答に変更) | 対象は ApiController で、むしろ望ましい変更 |
| Containers | 既定の .NET イメージが Debian から Ubuntu に | Ubuntu でも問題なし |
| Core .NET ライブラリ | 一般数学におけるシフト動作の統一 | シフトはパーミッションマスクで使用しているが、影響の出る使い方ではない |
| Core .NET ライブラリ | 既定の終了シグナルハンドラーが提供されなくなった | AppDomain.ProcessExit 等のイベントハンドリングは未実装 |
| Extensions | BackgroundService がすべての 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 フォームは未使用です。