"Could not load type x from assembly" 尝试获取自定义配置部分时出现异常
"Could not load type x from assembly" Exception When Trying to Get Custom Configuration Section
当我尝试加载我定义的自定义配置部分时,我收到 "Could not load type x from assembly" 异常。在查看了几个类似的问题后,none 的答案有效。我确认我使用的是正确的完全限定 class 名称,以及正确的程序集名称。该程序集与声明相应配置节的配置文件位于同一文件夹中。尽管如此,我仍然收到错误消息。这是我的代码的简化版本:
namespace MyNamespace
{
public class MyClass
{
public MyClassConfigurationSection Configuration { get; set; }
public void LoadConfiguration()
{
Configuration = ConfigurationManager.GetSection("mySection") as MyClassConfigurationSection;
}
public class MyClassConfigurationSection()
{
/* ... /*
}
}
问题原来是将自定义配置部分 class 定义嵌套在另一个 class 定义中。显然,配置管理器的加载逻辑无法实例化嵌套的 class,即使它是可公开访问的。只需将自定义配置 class 移出外部 class 并移入包含命名空间即可解决问题。
当我尝试加载我定义的自定义配置部分时,我收到 "Could not load type x from assembly" 异常。在查看了几个类似的问题后,none 的答案有效。我确认我使用的是正确的完全限定 class 名称,以及正确的程序集名称。该程序集与声明相应配置节的配置文件位于同一文件夹中。尽管如此,我仍然收到错误消息。这是我的代码的简化版本:
namespace MyNamespace
{
public class MyClass
{
public MyClassConfigurationSection Configuration { get; set; }
public void LoadConfiguration()
{
Configuration = ConfigurationManager.GetSection("mySection") as MyClassConfigurationSection;
}
public class MyClassConfigurationSection()
{
/* ... /*
}
}
问题原来是将自定义配置部分 class 定义嵌套在另一个 class 定义中。显然,配置管理器的加载逻辑无法实例化嵌套的 class,即使它是可公开访问的。只需将自定义配置 class 移出外部 class 并移入包含命名空间即可解决问题。