2014-12-27 4 views
0

У меня есть консольное приложение в cron.exe, которое ссылается на веб-приложение. Проект Cron имеет свой собственный App.Config с строкой соединения. Справочное веб-приложение Project Cron, которое имеет web.config с различными строками подключения.Строка подключения была загружена из Web.Config вместо App.Config

Когда я запустил cron.exe, он загружает строки подключения из web.config веб-приложения вместо его собственного app.config?

Как заставить консольное приложение использовать app.config, который включен в проект?

string key = "SqlServices"; 
    var connStr = ConfigurationManager.ConnectionStrings[key]; 

    if (connStr == null) 
    { 
     List<string> conns = new List<string>(); 
     for (int i = 0; i < ConfigurationManager.ConnectionStrings.Count; i++) 
     { 
      var connI = ConfigurationManager.ConnectionStrings[i]; 

      conns.Add(connI.Name + ": " + connI.ConnectionString); 
     } 

     throw new ConfigurationErrorsException(string.Format("Missing connection string {0}. Founded these connection strings: {1} ", key, string.Join(";", conns.ToArray()))); 
       } 

       return connStr.ConnectionString; 
      } 
    } 

РЕШЕНИЕ:

Существовали несколько строк объединяемых строк конфигурации проекта:

AppDomain.CurrentDomain.SetData("APPBASE", configDir); 
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", configPath); 
+1

Вы можете показать нам, как вы читаете строку соединения? – Sefa

+0

добавлен фрагмент кода. – qub1n

+0

ConfigurationManager.AppSettings ["NodeNameInAppConfig"] проверьте это – mybirthname

ответ

0

можно использовать web.config в консольном приложении и наоборот:

AppDomain.CurrentDomain.SetData ("APPBASE", configDir); AppDomain.CurrentDomain.SetData ("APP_CONFIG_FILE", configPath);

 Смежные вопросы

  • Нет связанных вопросов^_^