前提・実現したいこと
ASP.NET MVCプロジェクトから、C#クラスライブラリの設定ファイルの値を取得したいと考えています。
発生している問題・エラーメッセージ
//例外発生時のエラーメッセージは以下の通りです。 'DLLの該当名前空間.該当クラス' のタイプ初期化子が例外をスローしました。 //InnerExceptionは以下の通りです。 System.Configuration.ConfigurationException "現在の構成システムでは、ユーザーによってスコープされた設定はサポートされません。"
該当のソースコード
呼び出し側プログラム(ASP.NET MVC)
(呼び出し側プログラムで呼び出し先プログラムの参照設定は行っています。
また、実行は、ローカル環境(localhost)で該当アクションメソッドが実行されるページにアクセスすることで行っています。)
C#
1[HttpPost] 2public ActionResult Test(TestData testData) { 3 //前略 4 5 //ここでエラー 6 var result = LibraryA.ClassA.ValueA; 7 8 //後略 9}
呼び出し先プログラム(C# クラスライブラリ(.dll))
C#
1namespace LibraryA { 2 public static class ClassA{ 3 //ValueAは設定ファイル(Settings.settingsファイル)内に定義(スコープはアプリケーション) 4 public static string ValueA = Properties.Settings.Default.ValueAProp; 5 } 6}
設定ファイルの定義方法はこちらを参考にしました。
試したこと
・呼び出し側プログラムが、ASP.NET MVCではなく、C#コンソールアプリケーションであれば、呼び出すことが可能でした。
・呼び出し先プログラムのValueAに直接文字列を指定してやると、問題なく呼び出すことが可能でした。
開発環境
●環境
・統合環境:Visual Studio 2019
●プロジェクト
・使用言語:C#(.NET Framework 4.6.1)
・種別:ASP.NET MVC 5 Webアプリケーション
回答2件
あなたの回答
tips
プレビュー