1

という Windows アプリケーションがありますTechReader。その構成ファイルはTechReader.exe.config. 構成の一部は、他の構成ファイルに保持されます。そのため、exe.config で作成された構成セクションからその構成ファイルを参照します。

 <TechReader.ProviderConfiguration file="localProvider.config"/>

ここで、リフレクションを使用してアプリケーションの構成全体をロードしたいと考えています。このようなコードを使用します。

Assembly techReaderAssembly = Assembly.GetAssembly(typeof(TechReaderStarter));
ConfigurationManager.OpenExeConfiguration(techReaderAssembly .Location);

TechReaderStarterクラスは、出力がライブラリではなく Windows アプリケーションであるプロジェクトで定義されています。

上記のコードを使用するTargetInvocationExceptionと、ConfigurationErrorsException

  1. アプローチは正しいですか?
  2. exe.configOpenExeConfigurationと他の参照された構成ファイルをマージすることによって生成された最終構成をロードしますか?
  3. どうすれば達成できますか?

注: この Windows アプリケーションを使用して、Windows サービスとしてインストールしたいと考えています。サービスの構成にServiceInstaller記載ServiceInstallerされているサービス名などの詳細がinstallutil. このためには、リフレクションを使用してサービスの正確な構成を取得する必要があります。

4

0 に答える 0