删除资源:
通过资源编辑器只能从.resx中移除或者剪切资源,而不能实际删除,因为你只是对资源的元数据进行操作,而并非真正的资源文件(字符串除外,它只能被嵌入)。如果从项目中删除资源文件,但是.resx中的相应元数据还在,这样在编译时就会出现编译异常。
编辑资源: 可以通过资源编辑器直接打开相应的编辑程序;
(3) Resource Persistance
链接资源作为文件存储在项目中;在编译期间,从这些文件中取得资源数据,并将其放到应用程序的清单中。应用程序的资源文件 (.resx) 只存储指向磁盘上的文件的相对路径或链接。对于嵌入资源,资源数据直接以二进制数据的文本表示形式存储在 .resx 文件中。在任何一种情况下,资源数据都将编译到可执行文件中。
注意点:字符串资源总是嵌入的资源,无法更改;文件资源总是链接的资源,也无法更改。
如何在嵌入的资源和链接的资源之间进行选择?
-----------------------------------------------------------------
在多数情况下,应该坚持默认的链接资源。但是,在有些情况下选择嵌入的资源会更好。
嵌入的资源:
如果需要在多个项目之间共享应用程序资源 (.resx) 文件,则嵌入的资源是最佳选择。例如,如果您有一个包含公司徽标、商标信息等类似内容的通用资源文件,则应使用嵌入的资源,这样您只需复制 .resx 文件,而不用复制关联的资源数据文件。不能直接编辑嵌入的资源。如果试图编辑嵌入的资源,您将会接收到一条消息,提示您将该项转换为链接的资源以便对其进行编辑;此转换是可选的,但建议进行转换。必须导出它们并在外部程序中进行修改,然后将其导回项目中。
链接的资源:
就易用性而言,链接的资源(默认值)是最好的选择。可以在项目内部直接编辑资源,并且可以根据需要轻松添加或移除资源。
-----------------------------------------------------------------
可以通过指定资源的Persistance属性来决定。如果将属性改为嵌入后,将资源文件删除并不会有什么影响,此时如果再改回链接方式,则会在Resources目录下重新创建此资源文件。
如果在资源编辑器下对资源进行管理,则会发现资源的BuildAction,即生成操作都会变为“无”。其实Persistance属性仅仅在设计期间起作用,最终资源数据都将编译到可执行文件中。
(4) Using Typed Resources
* 直接使用.resx文件
利用 ResXResourceReader 类来访问.resx 文件;
此类可以枚举 XML 资源 (.resx) 文件和流,并读取顺序资源名称和值对,存在于命名空间 System.Resources。如果要提取特定条目,则需要先进行遍历寻找。










