use*_*117 3 c# embedded-resource
我正在制作一个程序,该程序使用Microsoft.CSharp.CSharpCodeProvider编译ac#脚本以创建EXE应用程序。在制作EXE的过程中,它以编程方式嵌入文件,并且EXE在以后的过程中执行时会读取该资源。当我尝试添加一个大文件并对其进行编译时,编译器将引发诸如“无法添加资源。内存不足”之类的错误。有什么方法可以在ac#项目资源中添加大文件?
不要嵌入资源是大的可执行文件。它不仅会轰炸编译器,还会轰炸您的程序。在32位操作系统上,任何大于约500兆字节的问题都是麻烦的,地址空间中不会有足够大的孔来容纳它。您可以使用SysInternals的VMMap实用程序来深入了解如何在代码和数据之间进行划分。
由于使用的是CodeDom,因此可以使用/ linkresource编译器选项将文件保留在可执行文件之外。您可能在运行时仍然有问题,但这是另一个问题。