【发布时间】:2013-10-11 18:33:29
【问题描述】:
我希望能够使用 Visual Basic .NET (2010) 中的 ResourceManager 类而不是使用 Win32 API (UpdateResources) 来写入和读取资源
我尝试先阅读这样的资源:
Dim ResMan As New Resources.ResourceManager("Resources", System.Reflection.Assembly.GetExecutingAssembly())
Dim Bytes As Byte() = DirectCast(ResMan.GetObject("Bytes"), Byte())
ResMan.ReleaseAllResources()
它确实有效,但后来我尝试编写资源,但它根本不起作用,我不断收到错误,老实说我的代码太脏了,我感到很惭愧。
所以基本上我需要一种使用 ResourceManager 编写资源的方法。
【问题讨论】:
-
你不能这样做,它们是只读的。这就是为什么有
GetObject,但没有SetObject。这些错误可能类似于它是只读的,不是吗? -
啊,我明白了!嗯,谢谢你的信息。我只是想知道,那你真的应该怎么写资源呢?
-
将它们保存在某处...你在VS中添加/拥有的资源被编译到应用程序中,因此你无法添加甚至删除它们。
-
但是,您可以使用 API 编写资源,那么难道不应该有办法不使用 API 来编写资源吗?
-
那是 WIN32,不是 .NET。如果您尝试写入 .NET 程序集,您可能会使其无效并阻止其加载。
标签: vb.net resources byte resourcemanager