DllExport 1.8 版本发布:.NET 原生导出功能的重大升级
DllExport 是一个强大的 .NET 工具集,它允许开发者将 .NET 程序集中的方法直接导出为原生 DLL 函数,使得 .NET 代码能够被非托管代码(如 C++、Delphi 等)直接调用。这个工具在需要将 .NET 功能暴露给原生代码的场景中非常有用,比如开发混合语言应用程序或为现有原生应用程序提供 .NET 扩展功能。
核心功能增强
最新发布的 DllExport 1.8 版本带来了多项重要改进,其中最显著的是对最新 .NET 版本的支持扩展。现在工具全面支持从 .NET 9 到 .NET 5 的所有主要版本,包括 .NET 8、.NET 7、.NET 6 以及 netcoreapp3.1 和 netstandard2.1 等框架版本。这意味着开发者可以在最新的 .NET 环境中无缝使用原生导出功能。
现代化功能特性
1.8 版本引入了对现代 C# 特性的支持,包括字符串插值($-interpolation)、Span 和 Memory 等高性能类型。这些特性在现代 .NET 开发中被广泛使用,现在开发者可以在导出方法中安全地使用它们。
类型引用系统也得到了增强,现在支持通过 Wizard 界面自定义类型引用和外部程序集引用。这为处理复杂类型系统和互操作场景提供了更大的灵活性。
构建和部署优化
新版本改进了多目标构建的支持,特别是增加了对 ImageBase 和构建步骤的精细控制。开发者现在可以为不同的目标框架配置独立的 ImageBase 值,这在需要精确控制内存布局的场景中非常有用。
对于发布流程,1.8 版本增强了 x86 和 x64 平台程序集的自动复制功能,简化了多平台部署的过程。同时改进了对嵌套项目的支持,使得在复杂解决方案结构中使用 DllExport 更加顺畅。
诊断和调试改进
调试体验得到了显著提升,新版本提供了更精细的 PDB 生成控制。现在可以根据项目的 DebugType、Optimize 和 DebugSymbols 属性自动选择最合适的 PDB 生成模式,包括:
- Optimize:优化长指令为短指令
- PdbOptimize:创建 PDB 文件但不启用调试信息跟踪
- DebugOptimize:启用 JIT 优化,创建 PDB 文件,使用隐式序列点
- Debug:禁用 JIT 优化,创建 PDB 文件,使用 PDB 中的序列点
- DebugImpl:禁用 JIT 优化,创建 PDB 文件,使用隐式序列点
底层工具链更新
DllExport 1.8 更新了其依赖的核心工具链:
- ILAsm 升级到 9.3.0 版本
- ILMerge 更新到 3.0.41
- Cecil 升级到 0.11.6
- Conari 更新到 1.5.0
这些更新带来了更好的性能、稳定性和对新特性的支持。
错误修复和稳定性提升
新版本修复了多个关键问题,包括:
- 修复了包含 .class extern forwarder 声明时可能导致崩溃或空导出的问题
- 解决了某些情况下出现的语法错误问题
- 改进了预处理和后处理阶段的稳定性
- 修复了 PE 检查相关的多个问题
- 解决了发布目标处理中的若干问题
向后兼容性
对于从旧版本升级的用户,DllExport 提供了简单的升级命令。工具保持了良好的向后兼容性,同时新增的恢复功能可以更轻松地从配置问题中恢复。
DllExport 1.8 的这些改进使得 .NET 原生导出功能更加稳定、强大且易于使用,为需要 .NET 与非托管代码互操作的开发者提供了更完善的解决方案。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C081
baihu-dataset异构数据集“白虎”正式开源——首批开放10w+条真实机器人动作数据,构建具身智能标准化训练基座。00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python056
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0135
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00