gpt4 book ai didi

.net - 通过反射加载程序集和访问配置时出现问题

转载 作者:行者123 更新时间:2023-12-01 10:13:34 24 4
gpt4 key购买 nike

我正在尝试使用反射加载 .NET 程序集(使用 Assembly.LoadFrom 方法),并在该程序集中实例化某些类型。

这一切似乎工作正常,但我尝试实例化的一种类型在其类型初始值设定项中访问程序集的配置:它执行 ConfigurationManager.GetSection(sectionName)。然后程序集抛出异常,因为找不到配置部分。

我正在加载的程序集的配置文件在同一个目录中,并且具有标准名称(即 AssemblyName.dll.config),并且配置肯定包含被请求的部分。为什么找不到配置部分?加载程序集时我需要做些什么吗?

最佳答案

因为正在读取的配置文件是托管可执行文件的配置文件。因此,例如,如果您正在运行来自 Foo.exe 的代码,您的配置文件应命名为 Foo.exe.configAssemblyName.dll.config 从未使用过。如果您在网站中运行它,那么您应该使用 web.config

您可以尝试使用 OpenMappedExeConfiguration方法:

var configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = "AssemblyName.dll.config";
var section = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None).GetSection(sectionName);

关于.net - 通过反射加载程序集和访问配置时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3351604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com