本文介绍了C#中动态代码的实现方式,包括反射、表达式树、EMIT、Roslyn和Source Generators。动态代码广泛应用于依赖注入、对象关系映射和AOP等框架。文章详细讲解了如何使用EMIT实现AOP,创建代理类型,并通过依赖注入实现日志记录功能。同时探讨了表达式树在ORM框架中的应用,最后介绍了Roslyn和Source Generators的基本用法。
RoslynPad 是一款基于 Roslyn 和 AvalonEdit 的开源 C# 编辑器,支持跨平台,适合快速原型开发、教学和代码演示,具备语法高亮、代码自动完成和实时编译等功能,轻量且启动迅速。
本文介绍了一款基于C#的AI程序员,旨在自动调试和重构代码。该系统包含代码分析、问题检测、AI决策、代码转换和测试验证模块。利用Roslyn和OpenAI的GPT模型,AI程序员能够识别代码问题并提供修复建议,从而显著提升调试效率和代码质量。尽管面临复杂场景处理和上下文理解的挑战,未来计划增强AI模型和用户界面。
随着AI代码生成器的普及,程序员面临职业挑战。为应对这一威胁,作者开发了一款开源的C#和Roslyn工具,提供代码质量检测、优化重构和规范适配功能,欢迎开发者参与。
JetBrains Rider 2025.1 EAP 5发布,新增Roslyn语法树可视化、智能导航、快速修复、dotnet watch调试支持和输入输出重定向等功能,显著提升Unity和.NET开发者的开发效率。
RoslynPad 是一款基于 Roslyn 和 AvalonEdit 的开源跨平台 C# 编辑器,支持 Windows、macOS 和 Linux,具备代码补全、签名帮助和实时诊断等功能,适合初学者和专业开发者。
本文介绍了一款新的 WinForms Roslyn 分析器,旨在帮助开发者识别和解决代码中的潜在问题,提升安全性和稳定性。该分析器提供 API 重载选择指导,防止异步代码错误使用,并确保异常处理得当,同时防止设计时敏感数据泄露,增强应用程序的可靠性。开发者可通过反馈和贡献来改进这些工具,提升开发体验。
RoslynPad是一个轻量级的跨平台C#编辑器,基于Roslyn和AvalonEdit,支持代码补全、签名帮助、诊断和代码修复等功能。
CSharpier是一款轻量级的C#代码格式化工具,基于.NET开源,使用Roslyn解析代码,支持Visual Studio和Rider,提供有限的格式化选项,旨在保持简单性和一致性。
本文讲述了在Roslyn编译器中使用源生成器的应用。源生成器允许在编译时插入自定义代码。文章通过示例展示如何使用源生成器生成代码,并用windbg工具调试Roslyn的内部逻辑。作者强调windbg在研究底层技术中的重要性,并提供代码和调试步骤,帮助读者理解源生成器的原理。
SharpLab是一款基于Roslyn的开源项目,提供.NET开发者强大的反编译工具,实时查看编译过程、生成的中间语言(IL)和反编译后的代码,提高代码学习和分析效率,帮助理解和调试复杂问题。
OpenTelemetry是一个用于云应用程序的流行可观测性框架。.NET OpenTelemetry库需要进行一些修复以兼容AOT。主要问题包括使用反射动态填充泛型类型和使用System.Linq.Expressions。该库还需要更新以支持JSON序列化和属性获取。文章还讨论了在Microsoft.Extensions.*库中使用Roslyn源生成器以及Dapper等某些库的本机AOT限制。与客户有效沟通AOT兼容性非常重要。
Natasha是一个基于Roslyn的C#动态程序集构建库,具备域管理和插件管理功能,支持域的隔离和卸载,提供了完善的错误提示和自动添加引用。它还支持智能编译模式和轻便编译模式,以及元数据管理和微调。Natasha还提供了脚本教程、高级编译技巧和动态调试功能。
Natasha是一个基于Roslyn的C#动态程序集构建库,可以在运行时使用C#代码生成类、结构体、枚举和连接方法。它具有域管理插件管理功能,可以实现域隔离、域卸载和热拔插。该库提供完整的编译流程,包括错误提示和自动添加引用。它兼容stanadard2.0 netcoreapp3.0 +,跨平台,提供统一和替换的链式API。开发者可以专注于程序集脚本的编写。
本文介绍了开源的.NET编译器平台Roslyn,它提供了丰富的API,支持动态生成、编译和执行代码。它还支持静态分析、自定义诊断和代码修复,并与多个IDE集成。通过Roslyn,开发人员可以构建强大的代码分析工具和进行元编程、代码生成和转换等创新。
本文介绍了.Net8中的常量优化,包括Roslyn前端优化和JIT后端优化。这些优化可以直接计算常量表达式的值、内联常量、赋值常量优化、函数与多个常量表达式操作的优化等,大大提高代码性能。
本文介绍了作者用C语言实现了Roslyn+CLR+JIT的Compile过程,包括江湖语言的编译、MethodDesc模型的实现和JIT功能的实现。
本文介绍了C#源代码编译成机器码的过程,以X64为例。通过Roslyn前端编译将源码编译成MSIL代码,再将IL代码转换成IR中间表示,最终转换成机器码。IR中间表示是编译器必备的表达方式,也是JIT优化等重要节点。
学习.Net进阶需要掌握基础语法、框架、Roslyn、CLR、RyuJIT、X64指令集、Arm64、Risc-v64等架构指令集,以及算法、数学几何、人工智能、区块链等技术。
MSBuild 不愧是强大的编译器,它提供的扩展机制让你几乎可以编译任何类型的文件或项目;Roslyn 是全新编写的一套编译器,不过它保留了 MSBuild 的大部分机制;NuGet 是 .NET 生态系统中的包管理机制,被原生集成在新的 Microsoft.NET.Sdk 中。 不过,他们的坑还是挺多的;本文就是他们 100 个坑的集合。 系列博客 这是兄弟篇中的一篇,关于...
完成下面两步后,将自动完成登录并继续当前操作。