今天一个同事发现自己的工程中如下代码无论如何都过不去
System.Data.OleDb.OleDbConnection con = new OleDbConnection();
当然SQLConnection,OracleConnection也一样出错,就这么简单的一句话百思不得其解。网上Google也不得其解。
其错误提示:GetConfig was called during configuration initialization,看来与配置文件相关,于是删除配置文件,重新编译,问题依旧!后仔细检查发现xxx.exe.config文件居然还在DEBUG目录下,打开发现其中有两个程序中没有对应的解释器的配置节,将这两个节点删除,问题解决。
BUG总结:OleDbConnection的构造函数会读配置文件,且在你的配置文件中有无人认领的自定义配置节(没有对应的IConfigurationSectionHandler)时会有问题。vs2003在删除app.config后重新编译会帮你删除以前生成的配置文件,vs2005不会。