【问题标题】:Referenced DLL, in Web API project not reading dll.config nor web.config引用的 DLL,在 Web API 项目中不读取 dll.config 或 web.config
【发布时间】:2017-07-29 05:00:55
【问题描述】:

以前有人问过这个问题,但我找不到适合我的答案。

我有一个包含 5 个项目的解决方案,一个是 Web API (.net 4.5),一个是类库 (.net 4.5)。 Web API 具有对类/DLL 的引用。在类项目中,Settings.settings 用于在 App.Config 中输入值。设置中的所有值都是 Type string、Scope Application、Access Modifier Internal。

这些值是在 App.Config 中创建的,如下所示:

<applicationSettings>
<xxxxx.Properties.Settings>
  <setting name="setting1" serializeAs="String">
    <value>1</value>
  </setting>
  <setting name="setting2" serializeAs="String">
    <value>abc123</value>
  </setting>....

在类代码中,值的读取方式如下:

Properties.Settings.Default.setting1;

创建 Web API 的包时,它有 .dll,但没有 .dll.config 文件。如果我手动复制 .dll.config 文件,则 .dll 不会从中读取。它似乎也没有从 web.config 中读取 ConnectionString。

我需要 DLL 来读取 .dll.config 或 Web APIs web.config 文件。我已经尝试过在 stackoverflow 中发布的几种解决方案,但大多数似乎在我尝试时都已更新/弃用和/或抛出错误。

.net 4.5 解决此问题的当前正确方法是什么?

谢谢

【问题讨论】:

    标签: c# api dll web-config app-config


    【解决方案1】:

    我最终从 Settings.settings 中删除了所有内容,消除了

    <applicationSettings>
      <xxxxx.Properties.Settings>...
    

    App.Config 部分。然后我添加了一个常规的&lt;appSettings&gt; 部分并在代码中调用该值

    ConfigurationManager.AppSettings["xxxxx"]; 
    

    我在一些帖子中读到这不再受支持,但这是对我有用的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      • 2019-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      相关资源
      最近更新 更多