Skip to content
Compare
Choose a tag to compare
@3F 3F released this 25 Feb 17:51
f4deb0e

.NET DllExport 1.8

DllExport-help

To upgrade from older versions: DllExport -mgr-up -dxp-version 1.8.0
or DllExport -action Upgrade -dxp-version 1.8.0

📑 What's new in 1.8 ...
  • NEW: Extends support for .NET 9, .NET 8, .NET 7,
    .NET 6, .NET 5, netcoreapp3.1, netstandard2.1, ...
    Issues: #219, #193, #132, #239

  • NEW: Custom .typref ... & .assembly extern ... in the Wizard
    using modern 3F's IL Assembler 9.3+
    /~https://github.com/3F/coreclr?tab=readme-ov-file#typeref-custom-definitions

  • NEW: Support $-interpolation in modern .NET 9-6, Span, Memory, ...
    configure in the Wizard.

  • NEW: New [Ref] packages control and related options.

  • NEW: ImageBase + step control in multiple targeting.
    configure in the Wizard.

  • NEW: New DllExport -pe keys:
    -list-addr, -list-ord, -list-all
    -magic, -num-functions, -base

  • NEW: Official ILRepack support in Pre-processing; 2.0.39
    /~https://github.com/gluck/il-repack/releases/tag/2.0.39

  • NEW: New PE Check option to control PE32/PE32+ arch.

  • NEW: -action RecoverInit in addition to -action Recover;
    Recover to initial setup using predefined/exported data.

  • NEW: Option to refresh intermediate module (obj) using modified. Issue #206.

  • NEW: x86+x64 copy support for Publish targets. Related issue #224.
    DllExportResolvePublish property to control it.

  • FIXED: Crashes or empty exports if code contains .class extern forwarder declarations.

  • FIXED: error: syntax error at token '.' in .interfaceimpl type... Issue: #205.

  • FIXED: Post-Proc: possible "The given key was not present in the dictionary."

  • FIXED: Fixed Pre-Proc ILMerge for netcore.

  • FIXED: Fix copying to own directory for "Provide x86+x64 assemblies"
    when no active dependencies.

  • FIXED: Pre-Proc: fixed edit Exec raw command in the Wizard.

  • FIXED: Fixed possible Incorrect RVA: 0 when PE Check is on.

  • FIXED: Fixed -action Export: Parameter "unevaluatedValue" cannot be null.

  • FIXED: Fixed Post-Proc DllExportDirX64 & DllExportDirX86 properties.

  • FIXED: DllExportResolvePublish support for a single platform
    Related issue #235 or like.

  • FIXED: Failed to write to log file ... because it is being used by another process. Issue #223.

  • CHANGED: Execute -action Restore in case of loss of generated meta
    for the cases like ImplicitUsings=true etc.
    It will probably help with problems like #184.

  • CHANGED: Improved support for nested projects using $(DllExportDir) etc.

  • CHANGED: Improved managing PlatformTarget when applying the configuration.

  • CHANGED: Improved TargetFrameworks multi-targeting support. ImageBase can be configured separately.

  • CHANGED: Improved IsNetCoreBased logic for modern tfms.

  • CHANGED: Improved cleaning logic at Pre-processing stage to delete correctly DllExport.Dll, Conari.dll
    and other assemblies from TargetDir when merging using [Ref] etc.

  • CHANGED: DllExport -action keys are no longer case sensitive.

  • CHANGED: Adds /PDB /OPTIMIZE and other types of PDB generation.
    Automatic option is relied on DebugType + Optimize + DebugSymbols properties:
    * Optimize: Optimize long instructions to short
    * PdbOptimize: +Create the PDB file without enabling debug info tracking
    * DebugOptimize: Enable JIT optimization, create PDB file, use implicit sequence points
    * Debug: Disable JIT optimization, create PDB file, use sequence points from PDB
    * DebugImpl: Disable JIT optimization, create PDB file, use implicit sequence points
    * Legacy True/False: Debug or Optimize

  • CHANGED: Updated .PDB deletion logic according to ISymUnmanagedWriter problem.

  • CHANGED: Use wDxpMsgLevel environment variable to control message level.

  • CHANGED: Full integration with modern hMSBuild 2.4.1+
    /~https://github.com/3F/hMSBuild
    DllExport -hMSBuild -help
    GetNuTool now through hMSBuild engine:
    DllExport -hMSBuild -GetNuTool ...

  • CHANGED: DllExport -pe-exp-list marked as obsolete;
    Use new -pe instead.
    DllExport -pe -help

  • CHANGED: +Log option for IlMerge & ILRepack in the Wizard.

  • CHANGED: Changed -action Upgrade logic same to -action Configure

  • CHANGED: Make all paths relative as $(DllExportDir)..\ in configured project files.

  • CHANGED: Updated wrapper in offline version
    offline.DllExport.1.8...zip /~https://github.com/3F/DllExport/releases/tag/1.8

  • CHANGED: Added netfx4sdk 1.2 helper to build using legacy tfm
    /~https://github.com/3F/netfx4sdk

  • CHANGED: Updated

  • NOTE: Tests for net9.0;net8.0;net7.0;net6.0;net5.0;netcoreapp3.1;netstandard2.1;netstandard2.0;net472;...
    can be found in official repo /~https://github.com/3F/DllExport
    ~
    /~https://github.com/3F/DllExport/tree/master/src/DllExport/assets
    /~https://github.com/3F/DllExport/tree/master/src/DllExport/UnitedTest

  • NOTE: official manager can be found here:
    https://3F.github.io/DllExport/releases/latest/manager/
    or here:
    * /~https://github.com/3F/DllExport/releases/tag/1.8
    * https://www.nuget.org/packages/DllExport/1.8

  • NOTE: Symbols (PDB) are available through GitHub Releases in offline version.