У меня есть библиотека классов DAL, которая включена в мою программу как DLL. Следующая строка от DAL для инициализации соединения.
DataSet ds = new DataSet("table");
SqlConnection cnn = new SqlConnection(Settings.CMOSQLConn);
Когда я запускаю это, я получаю ошибку ниже:
An unhandled exception of type 'System.StackOverflowException' occurred in CMO.DAL.dll
Ниже приведен файл Settings.Designer.cs, где он показывает ошибку при получении вызова :
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=WWCSTAGE;Initial Catalog=CMO;Persist Security Info=True;User ID=CMOWe" +
"bService;Password=ecivreSbeWOMC")]
public static string CMOSQLConn {
get {
return (CMOSQLConn);
}
}
У кого-нибудь есть идеи о том, что искать? Это потому, что строка подключения хранится в DLL вместо моего основного приложения? Я действительно застрял в этом и буду очень признателен за любую помощь!
РЕДАКТИРОВАТЬ 1
Я попробовал предложение Грега ниже:
public static string CMOSQLConn {
get {
return (Settings.CMOSQLConn);
}
}
И я все еще получаю ту же ошибку ... Есть еще мысли? Пока спасибо!
РЕДАКТИРОВАТЬ 2
Поэтому я последовал предложению восстановить файл настроек ниже, и теперь мой файл настроек выглядит следующим образом ->
public string CMOSQLConn {
get {
return ((string)(this["CMOSQLConn"]));
}
}
К сожалению, это не скомпилируется сейчас, так как везде, где я имею это утверждение ->
SqlConnection cnn = new SqlConnection(Settings.CMOSQLConn);
Теперь я получаю эту ошибку ->
Error 1 An object reference is required for the non-static field, method, or property 'CMO.DAL.Properties.Settings.CMOSQLConn.get' B:\MyDocs\tmpPATRIOT\Projects\VS2008\DisConnectDAL\CMO.DAL\SupportWorker.cs 13 51 CMO.DAL
Это то, что я должен ожидать?
Спасибо!