默认情况下,当您将图像(图标、位图等)作为资源添加到项目中时,该图像的“生成操作”设置为“无”。这是因为该图像神奇地存储在.resources文件中。
我希望资源被存储为嵌入式资源(我的原因不重要,但让我们假装这样做是为了能够在RedGate's Reflector中看到它们)。
因此,我将每个图像的“生成操作”更改为“嵌入式资源”,然后资源就会出现在Lutz的Reflector中——正如我所希望的那样。
不幸的是,Microsoft明确表示不应该这样做:
请注意,当资源编辑器添加图像时,它将“生成操作”设置为“无”,因为.resx文件引用图像文件。在构建时,图像被拉入由.resx文件创建的.resources文件中。然后可以通过为.resx文件自动生成的强类型类轻松访问该图像。
因此,您不应将此设置更改为“嵌入式资源”,因为这样做会在程序集中包含两次图像。
我希望资源被存储为嵌入式资源(我的原因不重要,但让我们假装这样做是为了能够在RedGate's Reflector中看到它们)。
因此,我将每个图像的“生成操作”更改为“嵌入式资源”,然后资源就会出现在Lutz的Reflector中——正如我所希望的那样。
不幸的是,Microsoft明确表示不应该这样做:
请注意,当资源编辑器添加图像时,它将“生成操作”设置为“无”,因为.resx文件引用图像文件。在构建时,图像被拉入由.resx文件创建的.resources文件中。然后可以通过为.resx文件自动生成的强类型类轻松访问该图像。
因此,您不应将此设置更改为“嵌入式资源”,因为这样做会在程序集中包含两次图像。
那么,将图像作为嵌入式资源包含的正确方式是什么?