1

我有一个名为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. 是否会OpenExeConfiguration加载通过合并 exe.config 和其他引用的配置文件生成的最终配置?
  3. 我怎样才能实现这些目标?

注意:我想使用这个 Windows 应用程序作为 Windows 服务安装。我正在尝试读取类中的配置ServiceInstaller(继承的类ServiceInstaller),以便在服务配置中提到的服务名称等详细信息可用于installutil. 为此,我必须使用反射来获取服务的确切配置。

4

0 回答 0