Visual Studio 2008 中的用户设置与应用程序设置与资源

Posted

技术标签:

【中文标题】Visual Studio 2008 中的用户设置与应用程序设置与资源【英文标题】:User Settings vs Application Settings vs Resources in Visual Studio 2008 【发布时间】:2011-01-20 08:58:51 【问题描述】:

我对 Visual Studio 允许将动态值保存到项目的不同方式以及它们的使用方式感到有些困惑。

我了解,如果我需要在我的应用程序中包含二进制信息(如图像或声音文件),我需要将其添加到资源文件中。但是,如果我将文件路径之类的内容保存为字符串,为什么我应该使用或不使用资源文件中的字符串而不是应用程序设置 (app.config) 文件或用户设置 (myapp.dll.config) 文件中的字符串?

【问题讨论】:

【参考方案1】:

通常情况下,最好将配置文件用于可能随每次部署而改变的内容。这样,如果您需要更改该文件路径,则无需重新编译。

【讨论】:

好的,所以要更改需要重新编译的资源,但要更改应用程序/用户设置,您只需要更改 XML 设置文件。 正确。配置文件最适合存储特定于环境的设置,这取决于安装。这可能包括文件路径、数据库连接字符串和可能更改的服务的 URI。这样可以保持稳定的构建。【参考方案2】:

对于复活很抱歉,但还有一个我认为没有提到的因素需要考虑:

用户可以篡改配置到他们心中的内容 - 这意味着您要么必须验证其中的值,要么确保使用它们的任何东西都不关心它们是否是无意义的。我也怀疑资源文件是不可破坏的——我知道可以从它们中提取值,但是否可以在不重新编译的情况下替换它们,我不知道。无论如何,如果您不希望用户在没有齐心协力的情况下更改这些值,请寻求资源。如果您想启用甚至鼓励对设置进行售后调整,请使用应用设置。

【讨论】:

以上是关于Visual Studio 2008 中的用户设置与应用程序设置与资源的主要内容,如果未能解决你的问题,请参考以下文章

如何停止 Visual Studio 为设计器中的控件生成属性设置?

Visual Studio 2008 intellisense用于枚举类型

Visual Studio:调试时重置用户设置

如何更改默认浏览器以在 Visual Studio 2008 中进行调试?

在 Visual Studio 2008 上设置预调试事件

使用 C++ 和 Visual Studio 2008 设置 OpenGL