ConnectionString from app.config of a DLL is null

后端 未结 3 1234
闹比i
闹比i 2020-12-18 11:55

I have a class library that contains a valid connectionString inside the app.config. Inside that class library I want to use it with

ConfigurationManager.Con         


        
相关标签:
3条回答
  • 2020-12-18 12:35

    In case if you don't waana use ConfigurationManager

    If i assume the config file is mydll.dll.config i can load it as XElement and parse it using Linq as

    var xe = XElement.Load("mydll.dll.config");
    var connectionString = xe.Descendants("connectionStrings")
         .Elements("add")
         .FirstOrDefault(a => a.Attribute("name").Value == Name)
         .Attribute("connectionString").Value;
    

    where Name is the connectionString name in the XML. Without using the ConfigurationManager import and other stuffs. The only requirement for this to make sure that the config file sit next to the dll.

    0 讨论(0)
  • 2020-12-18 12:46

    In this case you put the same <connectionStrings> entry (the <add> in question) in your web app's web.config, ConfigurationManager.ConnectionStrings always looks at the current config, that's a web.config in your case.

    0 讨论(0)
  • 2020-12-18 12:47

    I have a class library that contains a valid connectionString inside the app.config

    A class library doesn't have an app.config file associated. It's the application consuming this assembly that does. So you need to put the connection string inside this config file (if this is an ASP.NET application this would be web.config). Thus adding an App.config file in a project of type class library in Visual Studio makes no sense.

    0 讨论(0)
提交回复
热议问题