プロジェクトでは、プロジェクトで参照されるときにうまく動作するカスタムコンフィグレーションセクションを定義しました。今我々は参照として追加されたdllからこの同じ設定セクションを参照しようとしています。このDLLのコードから、ConfigurationManager.AppSettingsには問題なくアクセスできますが、設定エントリにアクセスするとエラーが発生します。構成セクションを取得しようとしたとき、それは次のエラーを投げている参照しているDLL内DLLリファレンスからカスタムコンフィグレーションセクションをロードする
のWeb.configコード
<section name="mailManager" type="FullNamespace, NameSpace" />
<mailManager prop1="propVal1">
<prop2 key1="keyVal1" key2="keyVal2" key3="keyVal3" />
<prop3 key1="keyVal1" key2="keyVal2" />
</mailManager>
。このセクションは、dllとメインソリューションコードベースの両方のソリューションに存在します。
var mailManagerConfigSection = ConfigurationManager.GetSection("mailManager") as EmailManagerConfigSection;
我々が得るエラーはエラーCS0433です:型 'EmailManagerConfigSection' 'はnamespace1、= 1.0.0.0バージョン、カルチャニュートラル、PublicKeyToken = = null' と「namespace2、バージョン= 1.0.0.0の両方に存在します、Culture =ニュートラル、PublicKeyToken = null '。
dll参照は、メインコードが実行されているのと同じbinディレクトリにあります。とにかくdllには、nullであるdllにローカルなものではなく、値を持つメインのEmailManagerConfigSectionを参照する必要がありますか? dll.configファイルは導入したくありません。
ConfigurationManager.AppSettings ["asVal"]がエントリを取得しているのを見てチャールズさんに感謝します。そういうことができることを期待していましたが、なぜそれが不可能なのか理解できます。あなたの時間を感謝します。 –
問題なし、お手伝いしてうれしい! –