app.config 和 appsettings.json 之间的区别

问题描述 投票:0回答:5

我正在尝试使用 .NET Framework 4.7.2 创建控制台应用程序。我看到项目中默认存在一个

app.config
文件。

App.config
用于存储项目的配置详细信息。只是想知道
app.config
appsettings.json

之间的区别
c# .net console-application app-config
5个回答
6
投票

app.config 用于存储 .NET Framework 应用程序的配置详细信息,这是以 XML 格式存储配置数据的传统方法。然而,最近出现了使用 appsettings.json 文件而不是 app.config 在 .NET 应用程序中存储配置数据的趋势。

app.config 和 appsettings.json 之间的主要区别在于它们存储的数据的格式。 app.config 使用 XML 格式,而 appsettings.json 使用 JSON 格式。

另一个区别是 app.config 特定于 .NET Framework,而 appsettings.json 用于 .NET Core 应用程序。您还可以获得 web.config,它专门用于基于 .NET Framework Web 的应用程序。

在你的情况下,我会使用框架提供的内容并使用 app.config 文件。


2
投票

以下是一些关键区别

  • app.config 通常用于 .NET Framework 应用程序,而 appsettings.json 通常用于 .NET Core 应用程序。
  • app.config 使用 XML 格式存储配置,appsettings.json 使用 JSON 格式。与 XML 相比,JSON 更易于读写。
  • appsettings.json 可以更轻松地管理特定环境的特定配置(您可以为每个环境使用不同的 JSON 文件 appsettings.Development.json、appsettings.Production.json)。

2
投票

“app.config”通常用于较旧的 .NET Framework 应用程序 - 采用 XML 格式,而“appsettings.json”用于 .NET Core 应用程序 - 采用 json 格式


0
投票

从程序员的角度来看,区别还在于

app.config
XML 不是手动编辑的,而是使用名为
Settings
代码的类进行配置,该代码是通过打开
Settings.settings
文件通过 Visual Studio 中的 UI 进行配置的。 键值对立即作为属性添加到
Settings
类,并立即序列化为 XML,因此所有内容都会在编译时实时检查。有点类似于 Windows 窗体设计器的工作方式。 然后可以通过 Settings 类的公共属性在代码中访问键和值。

而 ASP.NET Core 中的

appsettings.json
是纯文本 (JSON) 文件,在编辑时没有任何内置验证。 这使得它更容易出现错误(拼写错误),并且配置文件与代码之间也存在分歧(没有没有公共属性的类,但是与 .NET Framework 中的
.GetSection(string)
相比,
app.config


0
投票

在统一代码以在天知道什么平台上运行时,这是一种耻辱,没有简单的方法来整理不同构建环境的设置!疯狂的 CD CI 什么时候这么基础了?

© www.soinside.com 2019 - 2024. All rights reserved.