如何将图片嵌入.resx实现资源自治,解决原文件删除后资源丢失问题?
如何将图片正确嵌入Resources.resx文件?
你遇到的问题是因为默认添加图片时,resx只是保存了图片的外部链接,而非真正将图片数据嵌入文件本身。以下是正确的操作步骤:
- 打开你的Resources.resx文件,点击顶部工具栏的「添加资源」下拉按钮,选择「添加现有文件」,选中你要嵌入的图片。
- 在资源列表里找到刚添加的图片,按F4调出属性面板,找到「持久化」选项,将默认的「Linked at compile time」改为「Embedded in .resx」。
- 保存resx文件,此时你会看到文件大小明显增加(和你的图片大小接近),这说明图片数据已经被嵌入进去了。
- 此时删除原始图片文件,重新打开resx,图片就能正常显示,不会再出现缺失提示。
如果是已经添加过的图片,直接在resx的资源列表中选中它,修改「持久化」属性后重新保存即可生效。另外确认Resources.resx的Build Action保持为「Embedded Resource」,后续你可以通过Properties.Resources.你的图片名称直接调用嵌入的图片资源。
内容的提问来源于stack exchange,提问作者Nickolas Etyuhibosecyu
相关产品推荐
相关产品推荐

