【问题标题】:What happens to the app.config file once I reference the class library引用类库后,app.config 文件会发生什么
【发布时间】:2011-12-06 03:29:27
【问题描述】:

我有一个类库,其中有一个 app.config 文件,其中包含 4 个设置。以前,当我在引用库时尝试此(VS2008)时,我将无法访问配置文件/应用程序会中断,但由于某种原因它现在可以工作。我已经在 3 个应用程序中引用了该库,我仍然可以正常访问设置,但缺少实际的配置文件。

配置文件是否会在您引用它时与库一起编译,或者它会发生什么?

(在 vs2010 中工作)

【问题讨论】:

    标签: c# .net-3.5 app-config class-library


    【解决方案1】:

    配置文件被重命名; “app”被您的程序集的名称替换。因此,如果您的 app.config 与某个程序相关联,例如Foo.exe,那么在您的输出文件夹(例如bin\debug)中,您应该有一个Foo.exe.config。如果你的 app.config 与一个类库相关联,比如Bar.dll,那么在输出文件夹中它将是Foo.dll.config

    【讨论】:

    • 此外,对于您添加到项目中的任何 .settings 文件,这些设置也最终会出现在 app.config(不是单独的配置文件)中。
    • 我浏览了项目中引用 dll 和所有 .config 文件的所有 .settings 文件,但找不到相关设置。附言。我知道我的设置已存储-> lib.dll.config。该库具有默认值。这些设置不在单独的文件或 my.exe.config 文件中
    • 您是直接编辑 .settings 文件还是通过设置设计器 UI 进行编辑? UI 在.settings.designer.cs(或vb)文件中生成代码,我相信这是您的默认值的来源。 (我之所以问,是因为我犯了那个错误:)如果您确实浏览了 UI,但事情仍然没有出现,我唯一可以建议的是删除然后重新创建 app.config 和 .settings 文件。 (在执行此操作之前进行备份或至少截取屏幕截图。)
    【解决方案2】:

    它可能有效,因为生成的 Settings.Designer.cs 文件中有默认值。更重要的问题是:如何更改我的设置?

    这需要将相关的 XML 部分从库 app.config 复制或合并到引用应用程序的部分。

    【讨论】:

    • 如果我合并配置文件,我可以在不改变库与设置交互方式的情况下更改库的设置,即:Properties.Settings.Default.. 或者我需要一些管理器
    • 好的,我会试试的。我刚刚得到验证,我的库配置正在运行,因为我设置了默认值。我还在研究如何合并这两个配置。
    猜你喜欢
    • 2012-01-14
    • 2019-10-16
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    相关资源
    最近更新 更多