我有一个可以完美编译和运行的Windows窗体应用程序。
我已经通过创建一个新的DLL项目并将现有的表单和类链接到新项目将其转换为DLL。
DLL项目编译,但当它涉及与资源有关的任何事情时,如在表单的图标或图像列表中,会在运行时卡住。
它会抛出错误:
An unhandled exception of type 'System.Resources.MissingManifestResourceException' occurred in mscorlib.dll
在以下代码行中:
this.LargeImageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("LargeImageList.ImageStream")));
我是否必须更改图标和图像的存储方式才能使DLL正常工作?
答案 0 :(得分:0)
当您更改应用程序的程序集/类型的名称时,您需要确定处理资源的方式以及如何引用资源。
您必须访问特定程序集,并且可以阅读其中的资源。
Stream stream = yourAssembly.GetManifestResourceStream(myResourceName);
答案 1 :(得分:0)
当我将所有链接文件复制到新DLL项目的项目文件夹中,然后将它们添加到项目中而不是将它们链接到原始项目文件夹中的文件时,它可以正常工作。