gpt4 book ai didi

c# - App.config 弃用了 C#?

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:53 27 4
gpt4 key购买 nike

我正在尝试了解应用程序设置/AppSettings。

我的理解是,AppSettings(位于 app.config 文件中)是通过 ConfigurationManager.AppSettings 访问的,这被认为是已弃用的功能。

我了解应用程序设置是通过 Properties.Settings.Default 访问的,通常创建为 .settings 文件(在 Visual Studio 中,这可以在项目属性中完成)。

如果这是正确的(请确认),我的问题是为什么 Visual Studio 中的所有项目都会自动创建一个 App.config 文件?我可以/应该删除这个文件并创建一个 Settings.settings 文件吗?我应该同时使用两者吗? (为什么?)我可以使用 Properties.Settings 访问 app.config 文件吗?如果是,怎么办?

此外,如果 Properties.Settings.Default 访问“默认”设置文件,您将如何/为什么访问默认文件以外的文件?

编辑:AppSettings 与应用程序设置线程没有回答这个问题,因为我的具体问题是为什么我需要一个 App.Config 文件。

最佳答案

ApplicationSettings 比 AppSettings 更受欢迎,因为它们是强类型的,但有时(例如在 Azure 中)AppSettings 更受欢迎,因为它们可以从 Azure 控制面板逐个实例地进行设置。

也就是说,让我们看看您问题中与 Settings.Default 与 App.Config 相关的另一部分。

我不会从每个项目中删除 App.Config,因为它会在您更新设置时自动更新。设置文件在代码中具有默认值,但 App.Config 文件可以在运行时覆盖这些值。能够将相关部分复制到将使用库的新应用程序(到它们的 app.config 或 web.config 中)真是太好了。

项目中唯一被执行的 app.config 文件是启动项目,app.config(或可能是 web.config)中的值是运行时使用的值。

希望这能消除关于文件关系的一些困惑。

配置文件的示例结构:

ProjectA
- ProjectA.Settings
- App.Config // VS syncs with Settings file
ProjectB
- ProjectB.Settings
- App.Config // VS syncs with Settings file
ProjectC (Startup Project
- ProjectC.Settings
- App.Config
// Can contain override settings for ProjectA.Settings and ProjectB.Settings

关于c# - App.config 弃用了 C#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30141969/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com