Skip to content

OTR_NuGetIntroduction

nishi_74322014 edited this page Oct 27, 2026 · 1 revision

NuGet導入、NuGet登録

概要

Open 棟梁のライブラリは NuGet に登録されており、パッケージ・マネージャーから利用できる。

  • 共通部品(Public)とフレームワーク(Framework)を NuGet パッケージとして配布している。
  • カスタマイズ可能レイヤ(ベースクラス2 など)とテンプレート部分は、パッケージにせず、テンプレート側に持つ。
  • NuGet Gallery | Packages matching Touryo

詳細

パッケージ

2026 年 10 月時点。各パッケージは net48 と net10.0 を含む(DamPstGrS は net10.0 のみ)。

パッケージ ID 内容
Touryo.Infrastructure.Public 共通部品(文字列、IO、DB アクセスの基盤 Dam、ログ など)
Touryo.Infrastructure.Public.Security 暗号・ハッシュ・署名・JWT などのセキュリティ部品
Touryo.Infrastructure.Framework P・B・D 層のフレームワーク(Web / MVC)
Touryo.Infrastructure.Framework.RichClient リッチクライアント(Windows Forms)用フレームワーク
Touryo.Infrastructure.Public.Db.DamManagedOdp Oracle(ODP.NET Managed Driver)用 Dam
Touryo.Infrastructure.Public.Db.DamMySQL MySQL 用 Dam
Touryo.Infrastructure.Public.Db.DamPstGrS PostgreSQL(Npgsql)用 Dam
  • SQL Server・ODBC・OLE DB 用の Dam は Public に含まれる。
  • 上記の組み合わせで、テンプレートは既定で SQL Server・ODBC / OLE DB・Oracle・MySQL・PostgreSQL をサポートする。

利用する

  • Visual Studio の GUI(NuGet パッケージ マネージャー)か、CLI(dotnet add package、パッケージ マネージャー コンソール)で追加する。
  • バージョンアップも同様に行う。net48 では、版を変えたら bindingRedirect(アセンブリ・バージョン・リダイレクト)が要ることがある。
  • 大規模開発などで NuGet.org に依存したくない場合は、ローカル(プライベート)のパッケージ・ソースに切り替えられる。

デバッグする

  • シンボル・パッケージ(.snupkg)を NuGet.org のシンボル・サーバーに登録し、Source Link を有効にしている。
  • Visual Studio でシンボル・サーバーを有効にすると、パッケージ内のコードにステップ インできる。

変遷

版 内容
v01-72 log4net・DotNetZip などのライブラリ管理を NuGet に変更
v02-00 ASP.NET のモダナイゼーションで NuGet の利用を拡大。NuGet 2.7 以降の自動復元に移行
v02-10 カスタマイズ可能レイヤ以外のライブラリを NuGet に登録
v02-20 デバッグ用のシンボル・パッケージを格納
v02-30 パッケージのバージョンと DLL のバージョンを一致させた
v02-40 nuspec に dependencies → group を導入。netstandard2.0 を追加
現在 net48 と net10.0 の 2 系統

パッケージを作る側(リリース作業)

  • 手順の一次情報は、OpenTouryo リポジトリの root/programs/RELEASE.md と root/programs/CS/NuGet/README.md。
  • _NuGetPack.bat はコミット ID を nuspec と PDB に埋め込むので、正式版は master へのマージとタグ付けの後に詰める。
  • 同じバージョンは一度しか公開できない(NuGet.org は再アップロードを受け付けない)。試したいときはプレリリース版(3.3.0-alpha1 など)を使う。
  • バージョン番号の付け方はOpen棟梁のバージョン番号付与ポリシー。

コーディング・エージェントに任せる場合

  • 依存パッケージの更新は、エージェントに任せやすい作業である。リポジトリの CheckVulnerability.ps1 で脆弱性を確認し、
    版を変えたら nuspec の依存と、net48 の packages.config・csproj・bindingRedirect の 3 か所を揃えさせる(OpenTouryo の AGENTS.md)。
  • 公開(nuget push)は取り消せないので、人が行う。

参考


Tags: 再構築

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki
開発基盤部会 Wiki

移行管理: DONE / TODO

Clone this wiki locally