尝试读取连接字符串的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位设置 Project的Build选项卡

我总是在使用ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString解决这个空引用问题ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString当我在与可执行文件不同的项目/库中拥有数据访问层时, ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString 。 我经常使用以下内容来帮助在运行时调试配置文件的位置:

 var configfile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var path = configfile.FilePath; 
Interesting Posts