Skip to content

OTR_DotNetCoreInitialization

nishi_74322014 edited this page Oct 27, 2026 · 1 revision

.NET版の初期化処理

概要

.NET(旧 .NET Core。現在は net10.0)版の Open 棟梁で必要になる初期化処理。
.NET Framework 版には無かった、または書き方が変わった点を纏める。

詳細

共通:構成(appsettings.json)の初期化

GetConfigParameter が appsettings.json などの構成を読めるように初期化する。

  • ASP.NET Core:Startup が受け取った IConfiguration を渡す。
public Startup(IConfiguration configuration)
{
    // configの初期化
    GetConfigParameter.InitConfiguration(configuration);
}
  • ASP.NET Core 以外(バッチ、CLI など):ファイル名を渡す。
// configの初期化
GetConfigParameter.InitConfiguration("appsettings.json");
  • IConfiguration をそのまま渡すので、環境変数(appSettings__キー名 など)や appsettings.{環境名}.json の上書きも、
    フレームワーク側から読む値に効く(Docker対応)。

ASP.NET Core:HttpContext.Current の代替

.NET Framework の HttpContext.Current に相当するものを使えるようにする(移行のため)。

// Startup.ConfigureServices
services._AddHttpContextAccessor();

// Startup.Configure
app._UseHttpContextAccessor();

利用する際は、MyHttpContext.Current.Session などとする。

ASP.NET Core:カレント・ディレクトリ

コンテナなどで相対パスを使う場合、必要に応じてカレント・ディレクトリを実行ファイルの場所に変更する。

Directory.SetCurrentDirectory(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));

なお、現在のサンプルは、リソースのパスを %OT_RESOURCE_ROOT% などの環境変数で指定する方式を採っている(Docker対応)。

その他

テンプレート(サンプル)の Program.cs・Startup.cs を参考にする。

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

  • 構成ファイルの扱いはスキル opentouryo-config、リポジトリの root/programs/CONFIGURATION.md を読ませる。
  • 初期化処理はサンプルの Startup.cs からの写しを基本にし、エージェントに独自の書き方をさせない。

参考


Tags: 再構築

NetDevInfraWiki

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

移行管理: DONE / TODO

Clone this wiki locally