我想将图像存储在.dll文件中,并将它们用于我的winform应用程序。但我无法加载.dll内容
System.IO.Stream stream;
System.Reflection.Assembly assembly;
Image bitmap;
assembly = System.Reflection.Assembly.LoadFrom(Application.ExecutablePath);
stream = assembly.GetManifestResourceStream("global::template.Properties.Resources.test.png");
bitmap = Image.FromStream(stream);
this.background.titleImage = bitmap; // image box
答案 0 :(得分:2)
最可能的问题是您在GetManifestResourceStream()中指定的路径不正确。
我发现以下内容有助于调试这些问题:
e.g。 “PrismDemo.Properties.Resources.resources.app.ico”
答案 1 :(得分:2)
您使用了错误的名称,“global ::”未出现在清单资源名称中。如果您将资源添加到项目并将其Build Action设置为“Embedded Resource”,则典型名称将是 project .test.png。为避免猜测名称,请使用Ildasm.exe并在清单中找到.mresource。
但是,您的名字建议您在Project + Properties,Resources选项卡中添加资源。好主意,自动生成资源的属性名称。您可以使用 project .Properties.Resources.test来引用它。你将得到一个Image,不需要使用GetManifestResourceStream。
上面列出的项目名称是您分配给项目的默认命名空间名称。 Project + Properties,Application选项卡,Default namespace setting。