MSBuild是否可以从纯内存资源构建EXE.例如,假设我构建了一个.csproj和几个表单以及代码隐藏并保存到内存流中,MSBuild可以使用这些流来构建一个EXE吗?
目的是除了最终的EXE之外没有任何内容写入磁盘.
如果是这样,是否有关于此主题的好博客文章或其他参考?
MSBuild不会创建EXE文件,编译器会这样做.目前,所有Microsoft编译器都不支持从内存流进行编译.System.CodeDom提供了它的错觉,但它实际上使用了磁盘.
C#的未来版本中有一些东西,计划是提供"编译器即服务"功能.目前的内部项目名称是Roslyn.这是否会影响构建过程是不明确的,我怀疑它,但没有真正的线索,它将如何与现有的编译器集成,如果有的话.
Windows的一个关键属性是内存和文件之间只有细微的差别.内存中的任何内容也都在文件中,例如页面文件.内存只是读取和写入文件数据的快捷方式.当您读取或写入文件时,您实际上正在读/写内存.文件系统缓存.如果它足够大,它适用于大多数任何C#项目,编译器将读取相同的内存而不会访问磁盘.它只会在最近没有读取或写入文件时减慢速度.
| 归档时间: |
|
| 查看次数: |
416 次 |
| 最近记录: |