我试图添加一个图标到Visual Studio中构建的.NET exe,但不知何故它不起作用 .
以下是重现问题的步骤:1 . 我创建了一个新的Windows窗体应用程序:新建项目 - > Windows窗体应用程序2.打开其中的资源:右键单击解决方案 - >属性 - >资源3.尝试添加一个图标文件:图标 - >添加资源 - >添加Exising文件 - >并选择一个现有图标 .
似乎添加了图标 . 因此,我构建了exe文件并关闭了解决方案,但生成的exe文件中没有包含Windows资源中的图标 . 我通过Visual Studio打开exe文件来验证 . Visual Studio向我显示了资源,其中包含清单和版本,但没有图标 .
问题是:我做错了什么?为什么添加的图标不会出现在Windows资源中?
2 回答
资源是否显示在解决方案资源管理器中?如果没有,我会检查here并按照这些步骤操作 . 此外,要检查资源是否实际添加,您可以添加这样的内容
请注意,为了显示您的资源,您必须导航到解决方案资源管理器中的资源,在其上打开属性,然后选择构建操作 - >嵌入式资源 . (您也可以使用资源,请参阅文章here以了解两个选项之间的区别)
最后一点,在我这样做之后,我尝试使用你的程序在Visual Studio中打开.exe,我确实无法在视图中找到资源 . 然而,在dotPeek中打开相同的exe,我能够找到我在代码中嵌入的整个图像,在Resources下 .
托管资源以与Win32资源不同的方式嵌入到程序集中 .
如果目标只是添加默认图标,则可以使用“项目属性”中的“应用程序”选项卡完成 .
如果目标添加任意Win32资源,那么答案可以在这里找到:How to embed a resource in a .NET PE executable?