如何访问C#项目中的嵌入资源?

时间:2011-06-07 18:44:40

标签: .net eclipse embedded-resource visual-c#-express-2010

我读过关于这个问题的大部分主题都回答说你只需要像这样访问它们:

<MyProjectNamespace>.Properties.Resources.<MyResourceName>

但是在构建过程中我有这样的信息:

<MyProjectNamespace> does not contain a definition for 'Properties'

当您向项目添加资源时,似乎IDE通常会自动生成类“属性”。

事实是我正在研究Eclipse并且我真的不知道如何添加资源,但我设法从Visual Studio生成一个.resx文件(我用来设计我的Windows窗体),我添加了将Nant .build文件作为“资源”以及我的位图。然后它确实嵌入了资源,但我无法访问它们......

那么我如何在我的应用程序中嵌入资源(通常)并使用Eclipse + Emonic + Nant来构建它?

谢谢,

保罗。

2 个答案:

答案 0 :(得分:2)

您应该创建一个ResourceManager实例来打开这样的resx文件:

ResourceManager resources = new ResourceManager("<MyProjectNamespace>.Properties.Resources", typeof(<any type in the assembly>).Assembly);
string myString = resources.GetString("myString");
Bitmap myBitmap = resources.GetObject("myBitmap") as Bitmap;

如果它们是表单的资源,您也可以按照以下方式获取它们:

ResourceManager resources = new ResourceManager(typeof(Form1));

答案 1 :(得分:0)

尝试在System.Resources命名空间中使用ResourceManager。显然,这取决于你想要检索的内容,但我的看起来像这样:

ResourceManager.GetString("String1", resourceCulture);