【发布时间】:2012-02-29 17:34:55
【问题描述】:
我有一个资源 (.resx) 文件,它目前有 58 个字符串属性。这个字符串属性的数量可以增长..
我的疑问是,这些字符串是否保存在内存中?如果我有 200 个,会全部保存在内存中吗? 或者字符串保存在文件中并且 ResourceManager 访问该文件?还是别的什么?这是如何工作的?
【问题讨论】:
我有一个资源 (.resx) 文件,它目前有 58 个字符串属性。这个字符串属性的数量可以增长..
我的疑问是,这些字符串是否保存在内存中?如果我有 200 个,会全部保存在内存中吗? 或者字符串保存在文件中并且 ResourceManager 访问该文件?还是别的什么?这是如何工作的?
【问题讨论】:
通常,.resx 文件被编译成带有 resgen.exe 文件的 .resources,并作为程序集资源存储在程序集本身内。如果您查看 Visual Studio 项目中 ResX 文件的属性,您会看到生成操作是嵌入式资源,这就是导致它嵌入到程序集中的原因。因此,任何时候加载程序集时,您也将加载资源文件。可能还有另一种使用资源文件的方法,它不会将它们保存在内存中,但这是它们的正常使用方式。
【讨论】: