.NET
.NET是微软开发的开源跨平台应用开发框架,支持C#、F#、Visual Basic等多种编程语言。它提供统一的运行时环境和丰富的类库,可用于构建Web应用、桌面程序、移动应用、云服务及物联网应用等多类型软件。.NET具有高性能、跨平台(支持Windows、Linux、macOS)和强类型安全等核心特性,是企业级应用开发的主流技术栈之一。
核心事实
时间轴 (近 90 天)
.NET 的 go-live 许可意味着官方支持团队将该 RC 版本视为可用于生产环境并承诺提供支持服务,但 go-live 不等于 GA,后续仍可能有破坏性变更。
CIL 是 .NET 程序集编译后的中间表示,在运行时由 CLR 通过 JIT 编译为原生代码。
REA 对 .NET 程序集仅提供静态分析,读取元数据和 CIL 指令。
REA 可以分析 .NET 程序集,返回元数据与 CIL 指令,无需额外工具,仅静态分析。
.NET 程序交付的是 CIL(Common Intermediate Language)字节码而非原生机器码,CIL 保留大量元数据(类名、方法签名、字符串字面量),这是 .NET 比原生程序更易逆向的根本原因。
.NET 程序编译为 IL(中间语言),借助 dnSpy、ILSpy 等工具往往能反编译出接近原始源码的结果,是各应用形态中可读性最高的。
REA 能处理原生二进制、Go 二进制、JavaScript 和 Electron 应用、网站、HAR 抓包、.NET 程序集、APK 与 Android 设备、固件、WASM 和 EVM 字节码等目标类型。
Aspire(正式名称 .NET Aspire)是 Microsoft 推出的云原生应用开发栈,面向分布式应用的构建、编排与本地调试,通过 App Host 项目统一声明式描述资源,原生支持 .NET 并通过托管集成扩展到 Node.js、Python 等生态。
Native AOT指编译时直接把IL编译成本地机器码,产物是无需运行时JIT的单文件可执行程序,启动快、内存占用低,也不需要每台机器安装.NET运行时。
在.NET中给request model加上attribute,字段信息会自动进入OpenAPI spec
还有 29 条时间轴事件
全部知识事实 (20)
REA 能处理原生二进制、Go 二进制、JavaScript 和 Electron 应用、网站、HAR 抓包、.NET 程序集、APK 与 Android 设备、固件、WASM 和 EVM 字节码等目标类型。
65%已验证.NET(前身为 .NET Core)是微软于 2016 年推出的开源、跨平台运行时
65%待验证TIA Portal Openness是西门子提供的自动化API接口,基于.NET框架,主要通过C#或VB.NET调用
95%待验证Semantic Kernel从一开始就同时支持.NET和Python
90%待验证.NET 的 go-live 许可意味着官方支持团队将该 RC 版本视为可用于生产环境并承诺提供支持服务,但 go-live 不等于 GA,后续仍可能有破坏性变更。
50%待验证REA 对 .NET 程序集仅提供静态分析,读取元数据和 CIL 指令。
50%待验证CIL 是 .NET 程序集编译后的中间表示,在运行时由 CLR 通过 JIT 编译为原生代码。
50%待验证REA 可以分析 .NET 程序集,返回元数据与 CIL 指令,无需额外工具,仅静态分析。
50%待验证.NET 程序交付的是 CIL(Common Intermediate Language)字节码而非原生机器码,CIL 保留大量元数据(类名、方法签名、字符串字面量),这是 .NET 比原生程序更易逆向的根本原因。
50%待验证.NET 程序编译为 IL(中间语言),借助 dnSpy、ILSpy 等工具往往能反编译出接近原始源码的结果,是各应用形态中可读性最高的。
50%待验证Aspire(正式名称 .NET Aspire)是 Microsoft 推出的云原生应用开发栈,面向分布式应用的构建、编排与本地调试,通过 App Host 项目统一声明式描述资源,原生支持 .NET 并通过托管集成扩展到 Node.js、Python 等生态。
50%待验证Native AOT指编译时直接把IL编译成本地机器码,产物是无需运行时JIT的单文件可执行程序,启动快、内存占用低,也不需要每台机器安装.NET运行时。
50%待验证.NET官方提供了用于MCP的C# SDK
50%待验证在.NET中给request model加上attribute,字段信息会自动进入OpenAPI spec
50%待验证Mnemo 采用 Apache 2.0 开源许可证,基于 .NET 与 React 构建,源码托管在 GitHub(onemnemo/mnemo)
50%待验证微软将 .NET 跨平台开源的推动力之一是云计算市场竞争压力,因为 Linux 是服务器端主流操作系统
50%待验证.NET的动态PGO(Dynamic PGO)在运行时持续采样,无需离线训练阶段
50%待验证在 Linux 上调用 .NET 运行时自带的 createdump 工具,并处理 ptrace 相关的权限限制
50%待验证PostgreSQL 的普通 timestamp 场景应映射为 .NET 的 DateTime
50%待验证PostgreSQL 的 timestamp 精度为微秒(6位小数),而 .NET 的 DateTime 精度为100纳秒(ticks)
50%