我有一个应用程序,其大小为16KB。
通过项目属性菜单中添加一个图标资源后,应用程序,符合市场预期,上升到一个大小299KB的。
现在,在性能/应用程序时,我设置的图标文件为“资源\ IconName.ico”文件大小再增加到581KB。
这是正常的行为呢? 据我所知,它增加了当我添加图标作为一种资源,而不是当我设置的图标,从资源到应用程序图标。
任何人都可以解释为什么这是怎么回事?
编辑:
也许更好的问题将是如何设置使用的图标从属性/资源节中的应用程序图标?
我有一个应用程序,其大小为16KB。
通过项目属性菜单中添加一个图标资源后,应用程序,符合市场预期,上升到一个大小299KB的。
现在,在性能/应用程序时,我设置的图标文件为“资源\ IconName.ico”文件大小再增加到581KB。
这是正常的行为呢? 据我所知,它增加了当我添加图标作为一种资源,而不是当我设置的图标,从资源到应用程序图标。
任何人都可以解释为什么这是怎么回事?
编辑:
也许更好的问题将是如何设置使用的图标从属性/资源节中的应用程序图标?
是的,这是正常的行为。 你的图标不被存储作为资源的两倍(如一些评论建议),它只是被在编译过程中,同时被存储作为资源链接到exe文件。 由于图标是面向公众的(即explorer.exe的渲染图标时直接访问它),你基本上结束了在不同格式的图标2份:
如果你真的想拯救这个额外的空间,删除嵌入的资源,改变你的应用程序图标参考笔直指向磁盘上的图标,然后,当你需要的图标的副本分配给您的形式,直接从提取它部件:
var executablePath = Assembly.GetExecutingAssembly().Location;
var icon = Icon.ExtractAssociatedIcon(executablePath);