我有一个大小为 16kb 的应用程序。
通过 Project Properties 菜单添加图标资源后,应用程序如预期的那样增加到 299kb。
现在,在属性/应用程序下,当我将图标文件设置为“Resource\IconName.ico”时,文件大小再次增加到 581kb。
这是正常行为吗?我知道当我将图标添加为资源时它会增加,但当我将图标从资源设置为应用程序图标时不会增加。
谁能解释为什么会这样?
编辑:
也许更好的问题是如何使用“属性/资源”部分中的图标设置应用程序图标?
最佳答案
是的,这是正常行为。您的图标不会被存储为资源两次(如某些评论中所建议的那样),它只是在编译期间链接到 exe,同时也被存储为资源。由于图标是面向公众的(即 explorer.exe 在呈现图标时直接访问它),您实际上最终会得到 2 个不同格式的图标副本:
如果你真的想节省这个额外的空间,删除嵌入的资源,改变你的应用程序图标引用直接指向磁盘上的图标,然后,当你需要一个图标的副本分配给你的表单时,直接从集会:
var executablePath = Assembly.GetExecutingAssembly().Location;
var icon = Icon.ExtractAssociatedIcon(executablePath);
关于visual-studio-2010 - 从资源设置应用程序图标时应用程序大小增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12030981/