代码之家  ›  专栏  ›  技术社区  ›  Robert Fraser

在没有程序集前缀的.NET程序集中嵌入资源?

  •  4
  • Robert Fraser  · 技术社区  · 16 年前

    使用Visual Studio将资源嵌入.NET程序集时,它的前缀是程序集名称。但是,程序集可以具有未加程序集名称前缀的嵌入资源。我能看到的唯一方法是使用ILDASM反汇编程序集,然后重新汇编它,添加新的资源——这是有效的,但是……我真的需要把那句话说完吗?

    (桌面.NET Framework 3.5、Visual Studio 2008 SP1、C、Windows 7企业版x64。)

    2 回复  |  直到 15 年前
        1
  •  7
  •   Doug    15 年前

    实际上,有一种方法,但是您需要手动编辑.csproj。

    在.csproj文件中,找到embeddedresource元素,如下所示:

    <EmbeddedResource Include="Resources\MyImage.png" />
    

    添加logicalname子元素,如下所示。

    <EmbeddedResource Include="Resources\MyImage.png">
      <LogicalName>MyImage.png</LogicalName>
    </EmbeddedResource>
    

    进行此更改后,可以将资源提取为“myimage.png”-省略默认命名空间和文件夹名称。

    看起来这个功能已经可用了 since 2005 .

        2
  •  0
  •   TomTom    16 年前

    不是程序集名称-命名空间;)默认命名空间,iirc。前缀是默认命名空间;)

    推荐文章