Asp.net core ASP.Net核心中是否有一个使用XML配置的开关?

Asp.net core ASP.Net核心中是否有一个使用XML配置的开关?,asp.net-core,Asp.net Core,在ASP.NETCore中,默认情况下有JSON格式的配置文件。这是一个真正的麻烦,因为JSON不支持注释,因此非常不适合配置文件(前端工具已经证明了这一点,它更喜欢javascript配置)。我相信它只用于最简单的演示,但几乎不用于任何真实场景项目 我在文档中发现,我可以在ConfigurationBuilder上使用AddXmlFile,但必须有一个开关,甚至可以使用XML配置生成新项目,而不必在代码中执行。ASP.NET Core利用配置提供程序。默认情况下,它包括JSON配置提供程序、环

在ASP.NETCore中,默认情况下有JSON格式的配置文件。这是一个真正的麻烦,因为JSON不支持注释,因此非常不适合配置文件(前端工具已经证明了这一点,它更喜欢javascript配置)。我相信它只用于最简单的演示,但几乎不用于任何真实场景项目


我在文档中发现,我可以在
ConfigurationBuilder
上使用
AddXmlFile
,但必须有一个开关,甚至可以使用XML配置生成新项目,而不必在代码中执行。

ASP.NET Core利用配置提供程序。默认情况下,它包括JSON配置提供程序、环境变量配置提供程序和命令行配置提供程序。您可以自由添加任何您喜欢的附加提供者,甚至可以完全自定义您自己创建的提供者。默认情况下不附加XML配置提供程序,并且没有“开关”、项目模板或任何其他将添加它的内容。XML实际上是一种非常低级的配置格式,所以这种格式不太可能改变,特别是因为如果需要,您可以随时手动添加它。

。默认情况下,NET Core不使用任何类型的配置。您必须明确指定您想要的内容。甚至JSON配置文件都添加了
AddJson
这有帮助吗@PanagiotisKanavos但新创建的项目包含文件appsettings.json和Properties\launchSettings.json。代码不包含AddJson()-因此这些文件根本不被使用?@Ichirichi似乎已经过时了-默认情况下在创建项目后添加
Microsoft.Extensions.Configuration.Xml
。模板中的代码不包含
AddJson()
方法。有趣的是,我发现.NET Core不关心我在appsettings.jsonAccepting中的//注释,因为这回答了问题。但我迫切需要添加这一评论。我同意XML不是配置的最佳格式,但纯JSON更糟糕,因为它是为不同的目的而设计的,任何可用的配置文件都必须支持文件中的注释。正如在下面的问题讨论中所发现的,MS允许在ASP.NET核心JSON配置文件中添加注释(尽管我在文档中没有找到)。这是一种相当务实的方法,但它也是对JSON格式的滥用,严格地说,它已经不再是了。我的观点恰恰相反。JSON被设计为一种对象表示格式。如果您认为您的配置是一个包含成员的对象(当您使用强类型配置时,实际上就是这样),那么它是理想的。老实说,配置不需要任何注释。成员的名字应该说明所有必要的情况。同意JSON表示对象状态。因此,它有利于(反)序列化,它可以表示配置快照。但在没有评论的情况下,您几乎无法表达意图、备选方案、价值格式、临时变更等。假设您需要临时更改配置,直到某个问题得到解决(可能需要数周甚至数月),并且在问题得到解决后,您希望恢复原始配置。