mah*_*esh 7 c# app-config visual-studio-2010
我在我的app.config文件中声明了以下连接字符串:
<connectionStrings>
<add name="SqlConnectionString" connectionString="Data Source=xxx.xx.xx.xx;Initial Catalog=xxxxx;User Id=xx;Password=xxx;" providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
当我尝试使用以下C#代码片段获取此连接字符串时,我得到了值null.我无法获取连接字符串.语法有什么问题吗?
第一次尝试:
var settings = ConfigurationManager.ConnectionStrings["SqlConnectionString"];
string result = settings.ConnectionString;
Run Code Online (Sandbox Code Playgroud)
第二次尝试:
string result = ConfigurationSettings.AppSettings["SqlConnectionString"];
Run Code Online (Sandbox Code Playgroud)
she*_*bin 10
首先,您必须添加appSettings标记
<connectionStrings>
<appSettings>
<add name="SqlConnectionString" connectionString="Data Source=xxx.xx.xx.xx;Initial Catalog=xxxxx;User Id=xx;Password=xxx;" providerName="System.Data.SqlClient" />
</appSettings>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
其次,添加System.Configuration对项目的引用并using System.Configuration在源代码中插入一个.
然后,您可以使用ConfigurationManager.AppSettings访问配置设置:
string result = ConfigurationSettings.AppSettings["SqlConnectionString"];
Run Code Online (Sandbox Code Playgroud)
对于非Web项目,并且在OP中设置了app.config,这是我通常所做的,因为配置文件在编译应用程序时更改名称(到yourapp.exe.config):
public static Configuration ExeConfig()
{
Assembly service = Assembly.GetAssembly(typeof(YourClass));
return ConfigurationManager.OpenExeConfiguration(service.Location);
}
Run Code Online (Sandbox Code Playgroud)
然后引用第s个连接字符串:
ExeConfig().ConnectionStrings.ConnectionStrings[s].ConnectionString
Run Code Online (Sandbox Code Playgroud)