文件作为资源未嵌入

时间:2018-08-23 07:51:32

标签: c# visual-studio

我在程序集(类库)中添加了一个二进制文件作为资源。 postgres:9.6.3-alpine属性被禁用,并且设置为Persistence

该文件也已添加到Linked at compile time下,我可以更改其属性。我将Resources folder设置为Build Action

然后我尝试通过以下方式获取资源:

Embedded Resource

但是,流是var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("myfile.bin")

然后我将null更改为Build Action,并将None更改为Copy to Output Directory。构建时,不会复制文件。

我真正需要的是将文件嵌入到程序集中并按上述方式访问。

我想念什么?

1 个答案:

答案 0 :(得分:1)

  • 将文件添加到项目中(不是什么特别的操作。只需选择“添加现有项”并选择文件即可。)

  • 选择“嵌入资源”作为该文件的构建操作。

  • 调用一次assembly.GetManifestResourceNames()进行一次调试,以找出您需要使用的名称(它包含名称空间和更多内容)

  • 使用您从调试调用var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(

  • 中获得的名称)