Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 已从Web.Config而不是App.Config加载连接字符串_C#_Web Config_App Config_Web Application Project - Fatal编程技术网

C# 已从Web.Config而不是App.Config加载连接字符串

C# 已从Web.Config而不是App.Config加载连接字符串,c#,web-config,app-config,web-application-project,C#,Web Config,App Config,Web Application Project,我在cron.exe中有一个控制台应用程序,它引用了web应用程序。Cron项目有自己的带有连接字符串的App.Config。Cron项目引用web应用程序,该应用程序的web.config具有不同的连接字符串 当我运行cron.exe时,它从web应用程序的web.config加载连接字符串,而不是从它自己的app.config加载 如何强制console应用程序使用项目中包含的app.config string key = "SqlServices"; var connStr

我在cron.exe中有一个控制台应用程序,它引用了web应用程序。Cron项目有自己的带有连接字符串的App.Config。Cron项目引用web应用程序,该应用程序的web.config具有不同的连接字符串

当我运行cron.exe时,它从web应用程序的web.config加载连接字符串,而不是从它自己的app.config加载

如何强制console应用程序使用项目中包含的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;
            }
     }

可以在控制台应用程序中使用web.config,反之亦然:

AppDomain.CurrentDomain.SetData(“APPBASE”,configDir);
AppDomain.CurrentDomain.SetData(“应用程序配置文件”,配置路径)

您能告诉我们您是如何读取连接字符串的吗?ConfigurationManager.AppSettings[“NodeNameInAppConfig”]请检查此项,听起来它是与连接的。我只有一个在控制台应用程序和web应用程序之间共享的共享代码,我不能/不想为web和控制台编写单独的代码。它可能是您提到的设置应用程序默认配置中的某个内容。此外,ConfigurationManager.AppSettings不用于保存连接字符串。抱歉,伙计们,你们不知道项目中有特殊的内容。这对我来说也是一个惊喜。
AppDomain.CurrentDomain.SetData("APPBASE", configDir);
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", configPath);