类库项目的资源

Nig*_*ker 10 .net c# visual-studio

我想将一些xml文件作为资源添加到我的类库项目中.知道怎么做,以后再打电话吗?在Windows应用程序中我会这样做ClassLibrary1.Properties.Resources.file.xml

但是在这里它没有任何想法我怎么在这里做?

Tho*_*que 11

在Windows应用程序中,我会像ClassLibrary1.Properties.Resources.file.xml那样做

默认情况下,为访问资源而生成的类是内部的,因此您无法从其他程序集访问它.如果需要将其公开,请选择.resx文件,转到其属性,然后将"自定义"工具属性从"ResXFileCodeGenerator"更改为"PublicResXFileCodeGenerator".此自定义工具生成公共类,可以解决您的问题.


Fre*_*rik 9

本文解释了如何在C#中使用嵌入式资源.

归结为

  1. 在"设计时":将文件添加到项目并将其标记为嵌入式资源(属性)
  2. 在'运行时':获取包含所需资源的Assembly实例,然后将该资源作为流获取.

var assembly = Assembly.GetExecutingAssembly();

var stream = assembly.GetManifestResourceStream("fully.qualified.name.of.the.resource");

如果您正在努力计算资源的fq名称,那么懒惰的方法是使用反射器打开包含它的程序集.转到Resources文件夹,右键单击特定资源,然后选择"复制".

  • 谢谢。这对我有帮助。另一种无需下载工具即可获取名称的方法是访问 _ assembly.GetMainfestResourceNames() 并在那里设置断点。您将获得所有名称,然后可以将其复制/粘贴出来并摆脱获取名称的调用。:) (2认同)

Teo*_*ahi 5

右键单击“类库项目”,选择“属性”,在左侧的选项卡上选择“资源”部分。

由于 Visual Studio 无法识别您的 .resx 文件,因此请添加一个新文件。它将创建一个新的 .resx 文件。

复制所有原始内容并粘贴到新内容中。然后你就可以删除旧的了。就是这样!

您需要对所有支持的语言重复相同的过程。