如何将大文件添加到c#项目中的资源?

问题描述:

我正在做一个编译一个C#脚本来创建使用Microsoft.CSharp.CSharpCodeProvider的EXE应用程序。在制作EXE的过程中,它以编程方式嵌入文件,EXE在稍后的过程中执行时读取该资源。当我尝试添加一个大文件,并进行编译,编译器会引发类似“无法添加资源。内存不足”或类似的东西的错误。有没有办法在c#项目资源中添加大文件?如何将大文件添加到c#项目中的资源?

+1

有多大,我们说话? – 2011-03-23 14:20:16

没有嵌入资源大的可执行文件。它不仅会轰炸编译器,而且会炸毁你的程序。任何大于〜500兆字节是一个32位操作系统上的麻烦,也不会有在地址空间足够大,以适应它的孔。您可以通过SysInternals的VMMap实用程序来了解代码和数据之间的分离方式。

由于您使用的CodeDOM,您可以使用/ linkresource编译器选项将文件保存与可执行的。运行时可能仍然存在问题,但这是另一个问题。