【问题标题】:How can I access embedded resources in a C# project?如何访问 C# 项目中的嵌入式资源?
【发布时间】:2011-09-10 08:03:31
【问题描述】:

我读过的关于这个问题答案的大多数线程,你只需要像这样访问它们:

<MyProjectNamespace>.Properties.Resources.<MyResourceName>

但是在构建过程中我收到了这样的信息:

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

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

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

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

谢谢,

保罗。

【问题讨论】:

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


    【解决方案1】:

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

    ResourceManager.GetString("String1", resourceCulture);
    

    【讨论】:

      【解决方案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));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-25
        • 1970-01-01
        • 1970-01-01
        • 2011-10-30
        • 2010-10-10
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        相关资源
        最近更新 更多