第二个嵌入式资源不会添加到主DLL,而是添加到新的语言特定的dll中

时间:2011-01-28 10:16:45

标签: c# .net dll embedded-resource

我有一个dll,暂时有一个嵌入式资源,称为cert1.p12。它出现在资源中的Reflector中,我可以从代码中访问它而没有任何问题。但是现在我添加了一个名为cert2.pem的新嵌入式资源,我将其标记为嵌入式资源,并显示在.csproj文件中。但是当我编译时,它不会出现在Reflector中,我无法从代码中访问它。

但是现在有一个特定于语言的资源文件,其中包含cert2资源。

我在编译器输出中注意到了一件事:

Csc.exe包含一行/resource:Provided\cert1.p12,BookingClient.Provided.cert.p12,但没有提及新资源。

还有一个带有/embed:Provided\cert2.pem,BookingClient.Provided.cert2.pem的AL.exe行

文件之间的一个区别是二元文件,一文件是文本。

编译器是否以某种方式对这两种资源进行了不同的处理?如何告诉编译器即使文件是文本,它也不是语言资源,应该放在主DLL中。我甚至不需要特定于语言的资源dll。

非常感谢。

1 个答案:

答案 0 :(得分:0)

啊,把它整理出来。我没有将文件标记为嵌入式资源,而是使用属性添加了一个资源文件,并将两者都添加为文件,现在我自己也不需要将流转换为数组,我只是直接从全局Resources对象访问数组

我实际上认为资源文件适用于你想要一个单独的语言文件,但在这种情况下它是理想的,并且所有内容都在我想要的主dll中。