繁体   English   中英

读取.resx文件VB.NET SharpDevelop?

[英]Reading a .resx file VB.NET SharpDevelop?

有没有一种方法可以直接访问.resx中的字符串?

我有几个不同的项目,.resx是使用SharpDevelop模板“ Misc >> Empty资源文件”创建的。

我已经尝试了大多数在线方法,例如:

... = new ResourceManager ("ProjectEtc.resxFileName", 
           Assembly.GetExecutingAssembly)

但我收到相同的错误:

Could not find any resources appropriate for the specified culture or 
neutral culture. Make sure "ProjectEtc.resxFileName.resources" was 
correctly embedded or linked into assembly "Project calling" at compile time...

不管我做什么

似乎我需要将我的.resx也转换为.resource文件,而我不想这样做。

我是否使用#develop模板错过了某些步骤?

等一下...这甚至是在.NET中存储常量字符串的最佳方法吗?

谢谢,丹恩

检查.resx文件的Build操作设置为EmbeddedResource 默认情况下,当您使用“空”资源文件模板创建新文件时,SharpDevelop应该执行此操作,但是值得检查。

现在,您需要将项目的根名称空间和没有文件扩展名的resx文件名传递给ResourceManager构造函数。

因此,如果您在SharpDevelop中创建一个名为TestResource的新项目,则我的根名称空间将为TestResource。 然后,如果将名为Foo.resx的资源文件添加到项目中。 然后添加一个名为“ MyString”的字符串,然后可以使用以下代码访问相应的字符串值:

Dim resourceManager As New ResourceManager("TestResource.Foo", Assembly.GetExecutingAssembly)
Dim result = resourceManager.GetString("MyString")

编译应用程序时,.resx文件将被编译为.resources文件并嵌入到您的项目中。 如果使用ILSpy之类的工具, 可以看到此嵌入式资源及其名称。

使用.resx文件通常是在.NET中执行多语言应用程序的方式,因此可以使用它们存储字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM