【问题标题】:app.config configuration management - C#, .netapp.config 配置管理 - C#、.net
【发布时间】:2023-03-21 23:23:01
【问题描述】:

我目前正在寻找管理 app.config 文件的方法。我目前有多个版本的相同软件在不同的环境中运行,其中每个软件都使用特定版本的 app.config 文件。用户在进行配置更改时经常会出错,很难验证当前配置文件对于特定版本的软件是否正确。更新软件时,用户(可能不知道新版本软件中的每个配置更改)手动编辑 app.config 文件。 我确信可能会有更好的做法,但我现在坚持使用 app.config 文件/手动编辑(不过,请随时分享更好的配置处理方法,以供将来参考)

我的计划是设计一个工具来自动为每个软件版本创建 app.config xml 架构文件(使用 XSD.exe),并检测用户配置文件中可能存在的错误/错误(或者尝试建议正确的值)。当它到位时,我希望实现向导来帮助用户更新/安装新版本的软件。

我的问题是,是否有任何现有的工具可以完成类似的工作?我的 google fu 没有产生任何结果;或者,有没有更好的方法来解决这个问题?

【问题讨论】:

  • 为什么尝试验证/修复配置文件比首先添加适当的设置窗口更容易实现(在写入之前对值进行内置验证)?
  • 我认为这个问题/答案会对您有所帮助。 stackoverflow.com/questions/3004210/…
  • Aj//长篇大论。 GlennFerriveLive//谢谢!

标签: c# xml configuration xsd app-config


【解决方案1】:

我认为你应该看看配置转换。基本思想是为配置数据的每个排列定义不同的解决方案配置,然后在构建/部署时,自动为您的部署上下文注入正确的值。

这最常用于环境隔离,即 DEV、TEST、PROD。在 Web 应用程序中,您将为每个环境定义一个解决方案配置,然后为每个配置添加一个配置转换,这意味着您将从拥有单个 web.config 变为拥有 web.DEV.config、web.TEST.config 和一个 web.PROD.config

现在我知道您不是在开发 Web 应用程序,因此作为 Visual Studio 的一部分本机提供的配置转换工具将无法工作。

但是,有一个很棒的扩展名为 SlowCheetah,它将配置转换的力量带到任何类型的配置中。

http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5

【讨论】:

  • 您还可以通过稍微弄乱项目文件的 msbuild 来手动获得适用于非 ASP .NET 项目的转换。请注意,转换将在您构建时发生,而不仅仅是在发布时发生。
  • 谢谢,我一定会调查的!
猜你喜欢
  • 2013-08-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-26
  • 2011-07-31
相关资源
最近更新 更多