DllExport 1.6.0


   
       The open implementation of unmanaged exports for .NET ( DllExport )
       Source code and all details here: https://github.com/3F/DllExport
       
       To configure projects via current package:
       ========================================================
       DllExport -action Configure -dxp-version 1.6.0
       ========================================================
       https://3f.github.io/DllExport/releases/latest/manager/
       
       
       Demonstration of the new manager:
       * https://youtu.be/okPThdWDZMM
               
       ~~~~~~~~
       Get it via GetNuTool:
       ==========================================
       gnt /p:ngpackages="DllExport/1.6.0"
       ==========================================
       * https://github.com/3F/GetNuTool   
       
       Build info:  
 
   S_NUM:              1.6.0    
   S_REV:              58978    
   S_NUM_REV:          1.6.0.58978    
   S_REL:                  
   bSha1:              77afe4b    
   bName:              master    
   bRevc:              95    
   Wizard .NET:        v4.0    
   Configurator .NET:  v4.0    
   Configuration:      PublicRelease    
   Platform:           Any CPU    
   cfgname:            Release    
   revDeltaBase:       2016/10/12    
   revDeltaMin:        1000    
   revDeltaMax:        65534    
   
                   :: generated by a vsSolutionBuildEvent v0.12.10.99190
       
   

There is a newer version of this package available.
See the version list below for details.
Install-Package DllExport -Version 1.6.0
dotnet add package DllExport --version 1.6.0
<PackageReference Include="DllExport" Version="1.6.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DllExport --version 1.6.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

1:[ Quick start ] 2:[ C++ ❤ C# 💕C++ ] 3:[ Complex types and Strings ]
->{ Wiki }

DllExport-action Configure -dxp-version 1.6.0 [?]

  • For work with Unmanaged code/libraries (binding between .NET and unmanaged native C/C++ etc.), see Conari engine.
  • If you need convenient work with Lua (5.1, 5.2, 5.3, ...), see LunaRoad

https://github.com/3F/DllExport

Build info

   S_NUM:              1.6.0    
   S_REV:              58978    
   S_NUM_REV:          1.6.0.58978    
   S_REL:                  
   bSha1:              77afe4b    
   bName:              master    
   bRevc:              95    
   Wizard .NET:        v4.0    
   Configurator .NET:  v4.0    
   Configuration:      PublicRelease    
   Platform:           Any CPU    
   cfgname:            Release    
   revDeltaBase:       2016/10/12    
   revDeltaMin:        1000    
   revDeltaMax:        65534    
   
                   :: generated by a vsSolutionBuildEvent v0.12.10.99190

Via GetNuTool:

gnt /p:ngpackages="DllExport/1.6.0"

Changelog:

SHA-1: 77afe4bbfdb33b4c1b7a7964ad1e96165243291e

Public final v1.6 release of the .NET DllExport:

* NEW: The new embeddable lightweight manager for distribution via MvsSln & GetNuTool projects. Issue #38.
       Based on hMSBuild logic and includes GetNuTool core v1.6.1.

       Now you shouldn't use standard nuget clients anymore:
       https://www.youtube.com/watch?v=9bYgywZ9pPE

       Quick start: https://www.youtube.com/watch?v=sBWt-KdQtoc
        ==============================
        DllExport -action Configure
        ==============================

       Package from nuget.org already contains manager, but you can also get it directly.
       Latest manager: https://3F.github.io/DllExport/releases/latest/manager/
       ~18 Kb text-based embeddable batch-script that does not require powershell and dotnet-cli.

       Automatic restoring still is available but you can also use: `DllExport -action Restore`
       All available features: `DllExport -h`

       Direct links to remote package (without nuget server) via `-pkg-link {uri}` key. Issue #53.
       NuGet Server by default: nuget.org.

* NEW: The new Wizard (configurator via MvsSln). To easy configure your projects in any place. Part of Issue #38.
       MvsSln v2.0: https://github.com/3F/MvsSln

* NEW: Added support of empty/global namespaces - Issue #47.
       Use `Direct-Mod` if Cecil will not process this correctly.

* NEW: Implemented another storage for configuration: '.net.dllexport.targets'. Issue #49.

* NEW: New settings for configurator (Wizard):
        * Path to custom ILAsm.
        * Flag to keep intermediate Files (IL Code, Resources, ...).
        * Timeout of execution in milliseconds.

* NEW: Implemented automatic checking existence of a correct exported proc via Conari. Issue #55.
       Wizard controls it via `$(DllExportPeCheck)`:
        * 0x01 bit - Will check count of all planned exports from final PE32/PE32+ module.
        * 0x02 bit - Will check existence of all planned exports (IL code) in actual PE32/PE32+ module.

* NEW: Implemented PE32/PE32+ Viewer to check manually available exports from final modules. Issue #55.
       New key for manager:
        ```
        -pe-exp-list {module} - To list all available exports from PE32/PE32+ module.
        ```

        Sample:
        ```
        DllExport -pe-exp-list bin\Debug\regXwild.dll
        ```

* FIXED: Fixed target platform detection. Issue #34.
         Details: https://github.com/3F/DllExport/issues/34#issuecomment-306171060

* FIXED: Fixed problem when the Post-Build event is triggered before our tool. Issue #35.
         Use this if still is needed:
         ```
         <Target Name="PostBuildEventBeforeDllExport" BeforeTargets="DllExportMod">
            ...
         </Target>
         ```

* FIXED: Fixed generation of exp + .lib via MS Library Manager for VS2017. Issue #37.
         Now it also includes processing through VsDevCmd & VcVarsAll initializer scripts.
         Use the folowing msbuild properties to override values by default:
         * $(DllExportVcVarsAll); $(DllExportVsDevCmd)

* FIXED: Fixes possible problem with multiple properties that contains *Undefined* word,
         e.g.: *Undefined*\path1;C:\path2 ...

* CHANGED: Added information about finding lib tool. Issue #44.

* CHANGED: UI. Selected platform now affects to all configurations of project instead of active as before.

* CHANGED: Now nuget package does not contain library in `lib/.../` Details in #36.

* CHANGED: Now we also distribute .zip package for work through our manager etc.
           https://github.com/3F/DllExport/releases

* NOTE: How to avoid EXP0014: RunIlAsm. The library manager still cannot be found.
        https://www.youtube.com/watch?v=zUejJ4vUPGw
        Related Issue #44

* NOTE: Quick start (Configuring, Automatic restoring, Pe-Viewer):
        https://www.youtube.com/watch?v=sBWt-KdQtoc

* NOTE: The latest text-based manager:
        https://3F.github.io/DllExport/releases/latest/manager/

           Other versions you can find from GitHub Releases:
           * https://github.com/3F/DllExport/releases

           Or get it from nuget packages starting with v1.6+

* NOTE: PE-features via Conari v1.3.0 https://github.com/3F/Conari

* KNOWN: Bug when - "Build successful but methods are not exported." Issue #59
         For today, anyone else may also try to use https://github.com/3F/Conari to avoid similar @Genteure's problem.

* DIFF(v1.6-RC):

    * FIXED: Wizard. Fixed incorrect layout for zh_CN Simplified Chinese (Thanks @Genteure). Issue #61
    * FIXED: Fixes automatic restoring the package via msbuild. Issue #62

1:[ Quick start ] 2:[ C++ ❤ C# 💕C++ ] 3:[ Complex types and Strings ]
->{ Wiki }

DllExport-action Configure -dxp-version 1.6.0 [?]

  • For work with Unmanaged code/libraries (binding between .NET and unmanaged native C/C++ etc.), see Conari engine.
  • If you need convenient work with Lua (5.1, 5.2, 5.3, ...), see LunaRoad

https://github.com/3F/DllExport

Build info

   S_NUM:              1.6.0    
   S_REV:              58978    
   S_NUM_REV:          1.6.0.58978    
   S_REL:                  
   bSha1:              77afe4b    
   bName:              master    
   bRevc:              95    
   Wizard .NET:        v4.0    
   Configurator .NET:  v4.0    
   Configuration:      PublicRelease    
   Platform:           Any CPU    
   cfgname:            Release    
   revDeltaBase:       2016/10/12    
   revDeltaMin:        1000    
   revDeltaMax:        65534    
   
                   :: generated by a vsSolutionBuildEvent v0.12.10.99190

Via GetNuTool:

gnt /p:ngpackages="DllExport/1.6.0"

Changelog:

SHA-1: 77afe4bbfdb33b4c1b7a7964ad1e96165243291e

Public final v1.6 release of the .NET DllExport:

* NEW: The new embeddable lightweight manager for distribution via MvsSln & GetNuTool projects. Issue #38.
       Based on hMSBuild logic and includes GetNuTool core v1.6.1.

       Now you shouldn't use standard nuget clients anymore:
       https://www.youtube.com/watch?v=9bYgywZ9pPE

       Quick start: https://www.youtube.com/watch?v=sBWt-KdQtoc
        ==============================
        DllExport -action Configure
        ==============================

       Package from nuget.org already contains manager, but you can also get it directly.
       Latest manager: https://3F.github.io/DllExport/releases/latest/manager/
       ~18 Kb text-based embeddable batch-script that does not require powershell and dotnet-cli.

       Automatic restoring still is available but you can also use: `DllExport -action Restore`
       All available features: `DllExport -h`

       Direct links to remote package (without nuget server) via `-pkg-link {uri}` key. Issue #53.
       NuGet Server by default: nuget.org.

* NEW: The new Wizard (configurator via MvsSln). To easy configure your projects in any place. Part of Issue #38.
       MvsSln v2.0: https://github.com/3F/MvsSln

* NEW: Added support of empty/global namespaces - Issue #47.
       Use `Direct-Mod` if Cecil will not process this correctly.

* NEW: Implemented another storage for configuration: '.net.dllexport.targets'. Issue #49.

* NEW: New settings for configurator (Wizard):
        * Path to custom ILAsm.
        * Flag to keep intermediate Files (IL Code, Resources, ...).
        * Timeout of execution in milliseconds.

* NEW: Implemented automatic checking existence of a correct exported proc via Conari. Issue #55.
       Wizard controls it via `$(DllExportPeCheck)`:
        * 0x01 bit - Will check count of all planned exports from final PE32/PE32+ module.
        * 0x02 bit - Will check existence of all planned exports (IL code) in actual PE32/PE32+ module.

* NEW: Implemented PE32/PE32+ Viewer to check manually available exports from final modules. Issue #55.
       New key for manager:
        ```
        -pe-exp-list {module} - To list all available exports from PE32/PE32+ module.
        ```

        Sample:
        ```
        DllExport -pe-exp-list bin\Debug\regXwild.dll
        ```

* FIXED: Fixed target platform detection. Issue #34.
         Details: https://github.com/3F/DllExport/issues/34#issuecomment-306171060

* FIXED: Fixed problem when the Post-Build event is triggered before our tool. Issue #35.
         Use this if still is needed:
         ```
         <Target Name="PostBuildEventBeforeDllExport" BeforeTargets="DllExportMod">
            ...
         </Target>
         ```

* FIXED: Fixed generation of exp + .lib via MS Library Manager for VS2017. Issue #37.
         Now it also includes processing through VsDevCmd & VcVarsAll initializer scripts.
         Use the folowing msbuild properties to override values by default:
         * $(DllExportVcVarsAll); $(DllExportVsDevCmd)

* FIXED: Fixes possible problem with multiple properties that contains *Undefined* word,
         e.g.: *Undefined*\path1;C:\path2 ...

* CHANGED: Added information about finding lib tool. Issue #44.

* CHANGED: UI. Selected platform now affects to all configurations of project instead of active as before.

* CHANGED: Now nuget package does not contain library in `lib/.../` Details in #36.

* CHANGED: Now we also distribute .zip package for work through our manager etc.
           https://github.com/3F/DllExport/releases

* NOTE: How to avoid EXP0014: RunIlAsm. The library manager still cannot be found.
        https://www.youtube.com/watch?v=zUejJ4vUPGw
        Related Issue #44

* NOTE: Quick start (Configuring, Automatic restoring, Pe-Viewer):
        https://www.youtube.com/watch?v=sBWt-KdQtoc

* NOTE: The latest text-based manager:
        https://3F.github.io/DllExport/releases/latest/manager/

           Other versions you can find from GitHub Releases:
           * https://github.com/3F/DllExport/releases

           Or get it from nuget packages starting with v1.6+

* NOTE: PE-features via Conari v1.3.0 https://github.com/3F/Conari

* KNOWN: Bug when - "Build successful but methods are not exported." Issue #59
         For today, anyone else may also try to use https://github.com/3F/Conari to avoid similar @Genteure's problem.

* DIFF(v1.6-RC):

    * FIXED: Wizard. Fixed incorrect layout for zh_CN Simplified Chinese (Thanks @Genteure). Issue #61
    * FIXED: Fixes automatic restoring the package via msbuild. Issue #62

Dependencies

This package has no dependencies.

Showing the top 1 GitHub repositories that depend on DllExport:

Repository Stars
microsoft/vs-threading
The Microsoft.VisualStudio.Threading is a xplat library that provides many threading and synchronization primitives used in Visual Studio and other applications.

Read more about the GitHub Usage information on our documentation.

Version History

Version Downloads Last updated
1.7.0-beta4 0 1/21/2020
1.7.0-beta3 321 12/15/2019
1.7.0-beta 290 11/4/2019
1.6.6 122 1/16/2020
1.6.5 6,798 8/10/2019
1.6.4 2,096 7/4/2019
1.6.2 6,792 12/27/2018
1.6.1 10,616 8/5/2018
1.6.0 15,446 12/29/2017
1.6.0-RC 599 11/26/2017
1.6.0-beta3 868 10/27/2017
1.6.0-beta2 600 8/19/2017
1.5.2 6,210 3/13/2017
Show less