我应该使用我的安装程序部署 app.config 吗?

Posted

技术标签:

【中文标题】我应该使用我的安装程序部署 app.config 吗?【英文标题】:Shall I deploy app.config with my installer? 【发布时间】:2010-11-06 11:52:47 【问题描述】:

据我所知,app.config 设置的所有默认设置都是硬编码在应用程序中的,并且会在第一次运行时即时生成。

如果这是真的,那么没有充分的理由使用安装程序或 zip 包部署这些文件,对吗?还是我在这里遗漏了什么。

我想在推出下一个版本之前确定一下。

【问题讨论】:

【参考方案1】:

默认设置是硬编码的,但必需的设置不是。如果您有任何必需的设置,那么您的应用程序将在尝试加载所需设置所在的部分时抛出异常,如果它不存在,如果文件不存在,则设置不存在.

此外,这仅适用于自定义部分...如果您使用默认部分(如 ConnectionStrings),则需要将 app.config 与您的应用程序一起部署,因为这是存储这些部分的唯一位置。

长话短说,是的,您确实需要将 app.config 与您的应用程序一起部署。

【讨论】:

这是桌面应用程序,仅依赖于 My.Settings (VB.NET)。什么是“必需”设置? 如果你有 app.config 文件,你需要部署它。我 90% 确定 My.Settings 是独立的,但我可能错了。 好的,我已经做了一些研究。如果您的项目中有一个 app.config 文件,那么是的,您需要部署它。如果您的项目输出中只有一个(即 /bin/Debug/app.config),那么在部署中丢弃它是安全的,因为它只是保存了测试中的设置。 必需的设置来自自定义配置部分...它比仅依赖 My.Settings 稍微复杂一些,但它更灵活。在这里查看更多信息:codeproject.com/KB/cs/CustomConfigurationSectio.aspx

以上是关于我应该使用我的安装程序部署 app.config 吗?的主要内容,如果未能解决你的问题,请参考以下文章

加密 App.Config 部分并部署到多台机器

使用 NUnit 时,我应该如何在运行时修改 app.config?

Clickonce 应用部署,在 app.config 中隐藏密码

插件使用自己的 app.config

Windows 服务安装程序未读取 App.Config 文件

App.config 替换单元测试