访问链接的“资源文件”中的项
本文关键字:资源文件 资源 链接 访问 源文件 | 更新日期: 2023-09-27 18:13:13
我正在c#中开发一个表单应用程序,该应用程序在解决方案下跨多个项目使用大量图像;我创建了一个新项目,它被编译成一个DLL来容纳所有的图像,以清理一些东西& &;链接了结果"*"。
我现在如何访问存储在这个新项目中的图像?我似乎无法进入ResourceTemplate
assembly/namespace
&我没有幸运地找到特定于使用Resource File
选项在项目Properties> Application
窗口中链接资源的信息。
我目前正在测试"System.Resources"。ResourceManager ",使用GetObject()
方法,看看我是否可以使用System.Uri
直接从DLL加载图像。
可以用System.Resouces
代替ResouceReader
首先加载包含资源的assembly
,并从中获取资源流:
Assembly resourcesAssembly = Assembly.Load("C:'fullPath.asm");
string[] Names = resourcesAssembly.GetManifestResourceNames();
Stream resourceStream = a.GetManifestResourceStream(names[0]);
现在使用ResourceReader
,我们将获得存储在资源assembly
中的序列化资源:
ResourceReader reader = new ResourceReader(resourceStream);
取我们想要的资源使用它的名字:
byte[] serializedResource;
string resourceType;
reader.GetResourceData("ResourceNameWithoutExtension", out resourceType, out serializedResource);
现在我们所需要的是使用BinaryFormatter
从System.Runtime.Serialization.Formatters.Binary
反序列化资源:
BinaryFormatter formatter = new BinaryFormatter();
using (MemoryStream serializedResourceStream = new MemoryStream(serializedResource))
{
object result = b.Deserialize(serializedResourceStream);
}
希望这对我有帮助,它对我有用,请随时提问:)