私はメソッドGetConnectionString()
を追加しました。任意の値がSettingsクラスからのアクセスである場合はいつでも、例外をスローします。The type initializer for 'NameSpace.Settings' threw an exception.
GetConnectionString()を削除するとすぐにプログラムは正常に動作します。'NameSpace.Settings'の型の初期化子が例外をスローしました
using System.Data.EntityClient;
using System.Data.SqlClient;
namespace CRM {
static class Settings {
public static bool userAuthenticated = false;
public static string userGroup = "";
public static Klienci currentlySelectedClient;
public static string sqlDataConnectionDetailsCRM = GetConnectionString();
public static string GetConnectionString() {
string connection = "";
SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder();
sqlBuilder.InitialCatalog = dbInitialCatalog;
sqlBuilder.DataSource = dbServer;
sqlBuilder.IntegratedSecurity = false;
sqlBuilder.UserID = dbUserName;
sqlBuilder.Password = dbPasswWord;
sqlBuilder.MultipleActiveResultSets = true;
EntityConnectionStringBuilder entity = new EntityConnectionStringBuilder();
entity.Metadata = @"res://*/Data.System.csdl|res://*/Data.System.ssdl|res://*/Data.System.msl";
entity.Provider = "System.Data.SqlClient";
entity.ProviderConnectionString = sqlBuilder.ToString();
connection = entity.ToString();
return connection;
}
}
}
私はsqlBuilderとエンティティをコメントアウトした場合。それはうまく動作します..
public static string GetConnectionString() {
string connection = "";
SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder();
//sqlBuilder.InitialCatalog = dbInitialCatalog;
//sqlBuilder.DataSource = dbServer;
//sqlBuilder.IntegratedSecurity = false;
//sqlBuilder.UserID = dbUserName;
//sqlBuilder.Password = dbPasswWord;
//sqlBuilder.MultipleActiveResultSets = true;
EntityConnectionStringBuilder entity = new EntityConnectionStringBuilder();
//entity.Metadata = @"res://*/Data.System.csdl|res://*/Data.System.ssdl|res://*/Data.System.msl";
//entity.Provider = "System.Data.SqlClient";
//entity.ProviderConnectionString = sqlBuilder.ToString();
connection = entity.ToString();
return connection;
}
何が起こっているのですか?
のInnerException:
例外=「System.ArgumentNullException:値は nullにすることはできません\ rを\ nParameter名:初期カタログます\ r \ nこれは
編集...私には罰金です System.Data.SqlClient.SqlConnectionStringBuilder.set_InitialCatalog(文字列 値)で\ Rは\ N CでCRM.Settings.GetConnectionString()で:プロジェクト\ \ Project.CS ..
public static string dbInitialCatalog = "BazaCRM";
がSettingsクラスに設定されています。
InnerExceptionに有用なデータはありますか? – ZombieSheep
問題の内部例外が追加されました – MadBoy