将.nbin文件嵌入到C#项目中

时间:2011-07-29 16:00:07

标签: c# binary embed

我是一个需要自然语言处理的项目的一部分。在搞乱SharpNLP之后,我已经设法让它工作得很好,我现在正在将我们需要的代码分解成一个容易消化的类库。

我遇到的挑战之一是SharpNLP需要运行的.nbin文件。在主下载中,它们是必须独立部署的单独文件。这不适合我们的项目,因为这个类库将由我们网络上多个不同机器上的不少于4个其他项目使用。部署.nbins的手动步骤是系统管理员特别要求我删除的内容,并且管理员对所需资源分离的额外故障点保持警惕。我意识到这将使得最终的.dll变得很大 - 我已经和所有人谈过这个问题而没有人关心。

在项目中嵌入这些资源的最佳方法是什么?我可以很好地导入它们,但是我需要打开一个Stream对象来使实现无缝地工作,并且在嵌入式二进制资源上打开Stream至少可以说是有趣的。

1 个答案:

答案 0 :(得分:3)

Build Action设置为Embedded Resource,然后调用

typeof(MyType).Assembly.GetManifestResourceStream("Project.Namespace.Folder.File.nbin")