尝试读取连接字符串的NullReferenceException
我有两个项目。 一个是网络,另一个是Windows窗体。 Web项目连接到数据库,但Windows项目抛出exceptionNullReferenceException读取连接字符串。
我使用相同的类来连接两个项目。 使用LINQTOSQL建立连接。
这是我的连接字符串:
这就是我读它的方式。
string CS = ConfigurationManager.ConnectionStrings["GPSystemConnectionString"].ConnectionString;
(此行发生exception)…..(对象引用未设置为对象的实例。)
注意:我使用相同的类连接两个项目….一个连接但另一个失败。
请任何人帮助我!
先感谢您。
您需要在app.config中输入窗口应用程序中的连接字符串。
如果您没有App.Config
文件,请添加它。
并输入如下所示的条目
在.cs文件中
using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Windows.Forms; var connectionString=ConfigurationManager.ConnectionStrings["GPSystemConnectionString"].ConnectionString;
如果要从另一个程序集获取配置部分,请使用以下命令:
Assembly assembly = ...; /* get the assembly to read config from */ System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(assembly.Location); string CS = configuration.ConnectionStrings["GPSystemConnectionString"].ConnectionString;
在我的情况下,这个问题是由我的64位Machine.Config中的ConnectionString引起的
C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\Config
而不是标准的32位
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config
要更正在“项目属性”的“生成”选项卡上删除“首选”32位设置
我总是在使用ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString
解决这个空引用问题ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString
当我在与可执行文件不同的项目/库中拥有数据访问层时, ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString
。 我经常使用以下内容来帮助在运行时调试配置文件的位置:
var configfile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var path = configfile.FilePath;