我对 Visual Studio 允许将动态值保存到项目的不同方式以及它们的使用方式感到有些困惑。
我知道,如果我需要在我的应用程序中包含二进制信息(如图像或声音文件),我需要将其添加到资源文件中。但是,如果我将文件路径之类的内容保存为字符串,为什么我应该使用或不使用资源文件中的字符串而不是应用程序设置 ( app.config
) 文件或用户设置 ( myapp.dll.config
) 文件中的字符串?
我对 Visual Studio 允许将动态值保存到项目的不同方式以及它们的使用方式感到有些困惑。
我知道,如果我需要在我的应用程序中包含二进制信息(如图像或声音文件),我需要将其添加到资源文件中。但是,如果我将文件路径之类的内容保存为字符串,为什么我应该使用或不使用资源文件中的字符串而不是应用程序设置 ( app.config
) 文件或用户设置 ( myapp.dll.config
) 文件中的字符串?
很抱歉复活,但还有一个我认为没有提到的因素需要考虑:
用户可以根据他们的内心内容篡改配置 - 这意味着您要么必须验证其中的值,要么确保使用它们的任何东西都不关心它们是否是胡说八道。我也怀疑资源文件是不可破坏的——我知道可以从中提取值,但是是否可以在不重新编译的情况下替换它们,我不知道。无论如何,如果您不希望用户在没有齐心协力的情况下更改这些值,请寻求资源。如果您想启用甚至鼓励对设置进行售后调整,请选择应用程序设置。
通常,最好将配置文件用于可能随每次部署而更改的内容。这样,如果您需要更改该文件路径,则无需重新编译。