我有一个控制台应用程序,其中网站项目作为 dll 添加。内部 dllConfigurationManager.ConnectionStrings["XXX"]
被调用,它总是返回null
。
但是 dll 中的 web.config 具有名为“XXX”的连接字符串。任何人都可以建议出了什么问题吗?
我不认为 .dll 的 .config 文件与 dll 一起添加到您的控制台项目中。您需要在执行项目中有 .config。
尝试将配置文件复制到您的控制台项目。或者至少是连接字符串部分。可能在 App.config 中。
我有一个稍微不同的问题,我还没有看到答案。我正在使用。
ConfigurationManager.ConnectionStrings["XXXX"].ConnectionString;
当我打开 web.config 时,我看到我创建的连接字符串以“WebApplicationAPI.Properties.Settings”为前缀。- 将整个字符串放入对我有用:
ConfigurationManager.ConnectionStrings["WebApplicationAPI.Properties.Settings.XXXX"].ConnectionString;
您的配置文件不在 .dll 中。所以你没有引用任何我会怀疑的东西!除非您手动将 web.config 文件复制到正确的位置或通过绝对路径引用它?
web.config 用于 Web 应用程序。
对于控制台应用程序,您必须使用 app.config。
好吧,实际上这是 C# 的默认配置,我不会对某些高级用户可以让它反过来的情况感到惊讶。