首页新闻找找看学习计划

新人求解?SqlHelperLib.SqlHelper”的类型初始值设定项引发异常。

0
悬赏园豆:30 [已解决问题] 解决于 2013-08-18 20:28

我用winform做了一个登陆,引用了自己写的SqlHelper类库,命名空间都引用了,运行时报这个错误“SqlHelperLib.SqlHelper”的类型初始值设定项引发异常。”  然后我把APP.config复制到登陆项目下,就可以运行了,这是什么原因?

祥龙福虎dx的主页 祥龙福虎dx | 初学一级 | 园豆:161
提问于:2013-08-18 11:40
< >
分享
最佳答案
0

这个错误一般是一个类的静态变量初始化出错了,再看一下静态构造函数是不是里面有问题。就一个SqlHelper来说一般会有ConfigurationManager.AppSetting["xx"]这样的东西,看一下你Web.Config里面是不是没有xx的配置。如果要调试的话断点加载在所有涉及到静态变量的地方以及静态构造函数里面,否则你是调试不进去的。

 

你复制配置后OK,就是xx的配置有了。。

收获园豆:30
小AI | 菜鸟二级 |园豆:354 | 2013-08-18 11:56

是winform啊,private  static readonly string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;

app.config也对啊

<add connectionString="Data Source=.;Initial Catalog=MyTest;Integrated Security=True" name="connstr" />

祥龙福虎dx | 园豆:161 (初学一级) | 2013-08-18 12:05

@祥龙福虎dx: 

你之前没有复制App.Config的时候ConfigurationManager.ConnectionStrings["connstr"]==null

所以 ConfigurationManager.ConnectionStrings["connstr"].ConnectionString(null.ConnectionString)会报错,静态的会爆出你说的那种错误。

 

当你复制了App.Config之后一切就OK了。

你现在可以把App.Config注释起来,在

private  static readonly string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;这段程序前面加断点就可以重现异常。

小AI | 园豆:354 (菜鸟二级) | 2013-08-18 12:09
其他回答(2)
0

SqlHelperLib.SqlHelper初始化依赖app.config里面的配置项吧,比如数据库连接字符串之类的~

李宝亨 | 园豆:1433 (小虾三级) | 2013-08-18 13:50
0

肯定是你的app.config中有配置没有配置对,比如数据库链接什么的

chenping2008 | 园豆:9836 (大侠五级) | 2013-08-18 16:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册