.Net嵌入式资源是否有大小限制?

时间:2011-01-25 20:36:34

标签: .net embedded-resource

我正在尝试将几个文件嵌入到.Net dll中,但其中一个没有显示在嵌入资源列表中,我没有看到任何明显的解释。关于这个文件的唯一特殊之处是它的大小是77KB,所有其他文件都是< 20KB。可以嵌入的资源大小是否有限制?

我用谷歌搜索但没有找到任何答案(也许我不知道如何谷歌)。

任何答案都将不胜感激。

谢谢!

3 个答案:

答案 0 :(得分:0)

我使用嵌入式资源相当多。快速搜索我的代码,发现数量超过200KB。

您确定Build Action设置为“Embedded Resource”吗?

您能否详细介绍一下如何尝试访问嵌入式资源?

您可以在Reflector中打开程序集以查看所有嵌入资源。

答案 1 :(得分:0)

我认为我找到了解决方案,但问题仍然不明确。

我更改了文件的名称。

它被称为“Reference.cs.txt”,并且无法正常工作

我尝试将其更改为“_Reference.cs.txt”,但它也无效。

但是当我使用“Reference.xcs.txt”时,它起作用了......

也许有人可以分享为何会发生这种情况的想法?

感谢您的回答。

答案 2 :(得分:0)

我也有同样的问题,但是我目前正在使用大型CSV。我发现使用此功能有助于找到真正使用的名称:

Dim allRessources() As String = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames()
     For Each rName As String In allRessources
          MsgBox(rName)
     Next

然后,使用相同的技术读取文件内容很重要:

Dim oRD As IO.Stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)
Using reader = New StreamReader(oRD, System.Text.Encoding.ASCII)
    Return reader.ReadToEnd().Replace(vbCrLf, vbLf).Split(vbLf)
End Using