gpt4 book ai didi

c# - 来自内存中资源的 MSBuild

转载 作者:行者123 更新时间:2023-12-03 19:49:08 26 4
gpt4 key购买 nike

MSBuild 是否可以从纯内存资源构建 EXE。例如,假设我构建了一个 .csproj 和几个表单和代码隐藏并保存到内存流中,MSBuild 可以使用这些流来构建 EXE 吗?

目的是除了最终的 EXE 之外,没有任何内容写入磁盘。

如果有,是否有关于此主题的优秀博客文章或其他引用资料?

最佳答案

MSBuild 不会创建 EXE 文件,编译器会创建。目前没有任何 Microsoft 编译器支持从内存流进行编译。 System.CodeDom 提供了它的幻觉,但它实际上使用了磁盘。

C# 的 future 版本中会有一些内容,计划提供“编译器即服务”功能。当前的内部项目名称是 Roslyn。这是否会影响构建过程尚不清楚,我对此表示怀疑,但不知道它将如何与现有编译器集成(如果有的话)。

Windows 的一个关键特性是内存和文件之间只有细微的差别。内存中的任何内容也都在文件中,例如页面文件。内存只是读写文件数据的一种快速方式。当您读取或写入文件时,您实际上是在读取/写入内存。文件系统缓存。如果它足够大,对于大多数 C# 项目来说,编译器将读取相同的内存而不会访问磁盘。只有最近没有读取或写入文件时才会变慢。

关于c# - 来自内存中资源的 MSBuild,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3963220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com