我正在另一个.net标准项目中使用一个.net标准项目。我将其打包为nuget包,并将dll包含在我的项目中。当我的项目调用dll进行某些工作时,它首先将一个对象新闻化
var account = new Data.Account();
“帐户”类如下所示:
internal class Account : Base
{
const string NAME = "test";
internal Account() { }
}
基类如下:
public abstract class Base
{
protected string connectionString;
public Base()
{
connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString;
}
}
但是,当尝试更新此类时,会引发异常:
at xxx.xx.Data.Base..ctor() in xxx\xxx\Data\Base.cs:line 11
第11行只是public Base()
构造函数
我已将nuspec文件中包含了pdb,以便可以调试到dll中,但是这样做没有提供任何其他上下文或跟踪记录。我开始认为这要么与内部类有关,要么没有在dll的app.config中找到连接字符串键,这就是我现在在网上进行的研究。
答案 0 :(得分:0)
System.Configuration.ConfigurationManager
,则需要将带有相关配置部分的App.config添加到项目(在本例中为ASP.NET Core WebApi项目)。 在读取配置设置时,您应该检查是否为null,以便可以通过更有意义的错误消息(例如
)来优雅地处理它。var connectionString = System.Configuration.ConfigurationManager
.ConnectionStrings["connectionstring"]?.ConnectionString;
if (connectionString == null)
{
throw new ConfigurationErrorsException(
"ConnectionString 'connectionString' not found in application configuration file"
);
}