2014-12-27 89 views
0

我在cron.exe中引用了Web應用程序的控制檯應用程序。 Cron項目有自己的App.Config和連接字符串。 Cron Project參考Web應用程序,它具有帶不同連接字符串的web.config。連接字符串已從Web.Config而不是App.Config加載

當我運行cron.exe時,它從web應用程序的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; 
      } 
    } 

SOLUTION

有幾行項目合併配置行:

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

你能告訴我們你如何閱讀連接字符串嗎?添加了 – Sefa 2014-12-27 17:16:42

+0

代碼片段。 – qub1n 2014-12-27 17:26:37

+0

ConfigurationManager.AppSettings [「NodeNameInAppConfig」]檢查這個 – mybirthname 2014-12-27 17:33:44

回答

0

有可能在控制檯應用程序,反之亦然使用的web.config:

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

相關問題