首页
/ DllExport 1.8 版本发布:.NET 原生导出功能的重大升级

DllExport 1.8 版本发布:.NET 原生导出功能的重大升级

2025-07-07 14:58:38作者:殷蕙予

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 与非托管代码互操作的开发者提供了更完善的解决方案。

登录后查看全文
热门项目推荐
相关项目推荐