【发布时间】:2010-11-28 17:44:52
【问题描述】:
Settings.settings 生成Settings.Designer.cs,它可能会生成app.config,然后将其作为Foo.exe.config 复制到输出目录。当我在没有配置文件的情况下分发应用程序时,似乎没有发生任何不好的事情。那么,那个文件是干什么用的呢?
【问题讨论】:
标签: .net visual-studio
Settings.settings 生成Settings.Designer.cs,它可能会生成app.config,然后将其作为Foo.exe.config 复制到输出目录。当我在没有配置文件的情况下分发应用程序时,似乎没有发生任何不好的事情。那么,那个文件是干什么用的呢?
【问题讨论】:
标签: .net visual-studio
如果您没有配置文件,它将使用设计器的默认值。但是,配置文件允许用户/管理员轻松更改设置 - 例如您与之交谈的服务器、主题等。如果您没有该文件,您希望将这些设置存储在哪里?
您可以拥有每个用户的设置以及每个应用程序的设置,它们存储在不同的位置。
【讨论】:
应用程序配置文件包含特定于应用程序的设置。此文件包含公共语言运行时读取的配置设置(例如程序集绑定策略、远程处理对象等),以及应用程序可以读取的设置。
【讨论】:
配置文件是可选的,如果它不存在,如 ASP.NET 等环境将回退到存储在 .NET 系统目录中的 machine.config 文件以获取机器范围的默认值。
如果您实际上将代码添加到您的应用程序以从配置文件中检索设置(例如使用 ConfigurationManager 类)并且它不存在,您将收到空值。
这就是为什么检查这种情况并让您的应用程序自行决定如何/是否继续的原因。
【讨论】:
您可以将配置存储在该文件中。
.Net 框架会自动加载一个带有 exe-name.config 的配置文件。
如果您在应用程序中不使用任何配置,那么就不会发生任何不好的事情...
【讨论】: