【问题标题】:System.TypeInitializationException: 'The type initializer for 'CRM.Models.SiteSettings' threw an exception.'System.TypeInitializationException:''CRM.Models.SiteSettings' 的类型初始化程序引发了异常。'
【发布时间】:2019-05-29 14:12:41
【问题描述】:

当我添加对单元测试的引用时,它无法初始化我要测试的目标项目中的静态类。

我尝试单独放置代码,像这样:

string s=SiteSettings.CRMConnectionString;

但是,我还是遇到了同样的错误。

public static class SiteSettings{
  public static string CRMConnectionString = "dads";
}

System.TypeInitializationException: '类型初始化器 'CRM.Models.SiteSettings' 引发了异常。内部异常 NullReferenceException:对象引用未设置为 对象。

为了针对目标项目进行单元测试,我需要进行哪些更改?

【问题讨论】:

  • 尝试重建您的项目并手动将其移至测试项目。当您使用更新的源加载库时,经常会发生这种情况。
  • 重建不起作用。将其移至测试项目是什么意思?你的意思是把它放在测试项目里面?

标签: c# unit-testing


【解决方案1】:

错误是因为我的类属性之一包含以下内容:

System.Configuration.ConfigurationManager.ConnectionStrings["EmailDataBase"].ConnectionString;

初始化时,找不到连接字符串。因此,产生了错误。

【讨论】:

    猜你喜欢
    • 2021-11-08
    • 1970-01-01
    • 2018-09-01
    • 2017-08-17
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多