Skip to content
Denis Kuzmin [ GitHub/3F ] edited this page Jan 2, 2021 · 17 revisions

We finally changed distribution of our packages starting with 1.6 release.

Now you can easily use our tool via lightweight embeddable manager for all your amazing things.

CI builds

Please note, the manager from any CI builds (not beta) will point to stable public package that was based on. Thus, you need to specify custom package via -server or -pkg-link. Or please use offline packages. To be sure: -build-info will point to related sha1 commit.

URIs. Remote and local servers

Our manager provides two important keys to control the sources for packages: -server and -pkg-link.

For both commands, you must specify either hostname or IPv4 or IPv6 (via square brackets, like http://[::1]) for specified protocol:

Over http:

  • http://server/
  • https://server/

Over ftp:

  • ftp://server/
  • ftp://usr@server/
  • ftp://usr:pwd@server/

Over URL File Format:

  • file:///D:/path/

The default server for our packages (at July 2018): https://www.nuget.org/

But you can also use -pkg-link for direct linking to packages without nuget server:

DllExport -action Configure -pkg-link <link_to_.nupkg>

Also, some keys (like -pkg-link) may support local paths:

DllExport -action Configure -pkg-link D:/path/DllExport.1.6.2.nupkg

Possible format:

  • absolute: D:/path/, D:\path\, D:\\path\\, ...
  • relative: ../path/, ..\..\path\, ...

Offline versions

We're providing also configured an offline version that's already ready for you projects without internet connection at all.

Just unpack the contents of the archive into solution folder. Then follow the same steps as for the regular version.

Please note:

  • Some commands that are related to online version cannot be applied to offline package.
  • Offline version distributed as .zip archive with common compression by Deflate algorithm. The name will contain the 'offline' word.

Proxy

[ v1.6.1+ ]

Use -proxy key to configure connection via proxy server.

The common format:

[usr[:pwd]@]host[:port]

Samples:

  • -proxy 10.0.2.15 ...
  • -proxy 10.0.2.15:7428 ...
  • -proxy guest@10.0.2.15:7428 ...
  • -proxy guest:1234@10.0.2.15:7428 ...

DllExport_Configure.bat

DllExport_Configure.bat file is (Obsolete) and will not be distributed officially after 1.6.2

It was simple -action Configure command for your convenience [?]. Feel free to remove it if you still have this.

Basic Commands

-action Configure is the default action for 1.6.3+ [?].

Configuring projects

  • To install/uninstall or to reconfigure your projects:
DllExport -action Configure [{server/version/pkg-link}]

More details and options (screencast): https://www.youtube.com/watch?v=sBWt-KdQtoc

Updating

  • To update already configured version by the new package:
DllExport -action Update [{server/version/pkg-link}]

Note: -action Update {..keys..} will also add this keys when restoring for build. You also can, for example: -force, -mgr-up ...

  • Force upgrading together with manager (recommended):
DllExport -action Upgrade [{server/version/pkg-link}]

For example: DllExport -action Upgrade -dxp-version 1.7.0

Restoring remote package

  • To manually restore package (It should be automatically restored by any Build operation for your configured projects. But if you need, use this):
DllExport -action Restore

You can also find our offline versions from releases.

Receiving new package version

Please note: For actual receiving, you should remove old used package (e.g. ~ rmdir /S/Q packages\DllExport) before new. Otherwise, it will be still used as an cached package for your new commands.

  • Use -build-info & -version key to be sure.
  • v1.6.1+ Also provides -force key to remove it automatically, for example:
DllExport -mgr-up -force -dxp-version 1.6.6

Automation

[ v1.6.1+ ] Provides additional actions for portable configuration, for recover broken references, and for some other related automation.

  • Export / Recover / Unset

External storage

Initial v1.6 already provides optional external storage for your configuration data and more. This should be placed into solution folder as an .net.dllexport.targets file after selecting related option from -action Configure.

Modern v1.6.1+ now also provides -action Export to generate or update this file from console.

-action Export

This action will create or update you external storage that was described above.

DllExport -action Export

This command is also required for old config from 1.6 version if you plan to use together with Recover or Unset actions.

-action Recover

Will try to recover one or more missed references with your projects by external storage. For non-configured solution it can be considered as an Import feature.

DllExport -action Recover

Please read about External storage above before using this command.

-action Unset

Removing/Disabling our tool and its references with your specified projects by external storage. However, this will not affect the external storage itself. Thus, you can still use this for Recover action.

DllExport -action Unset

Please read about External storage above before using this command.

Samples

Updating to specific version from nuget server

  • To update package for already configured projects:
DllExport -action Update -dxp-version 1.6.6 
  • Force upgrading together with manager (recommended):
DllExport -action Upgrade -dxp-version 1.6.6
  • To update only manager:
DllExport -mgr-up -dxp-version 1.6.6

To configure via custom package for -pkg-link

DllExport -action Configure -pkg-link {url_to_nupkg}

Console

Copy of v1.7.4.29858+c1cc52f

.NET DllExport v1.7.4.29858+c1cc52f
Copyright (c) 2009-2015  Robert Giesecke
Copyright (c) 2016-2021  Denis Kuzmin <x-3F@outlook.com> github/3F

MIT License
https://github.com/3F/DllExport
Based on hMSBuild, MvsSln, +GetNuTool: https://github.com/3F


Usage: DllExport [args to DllExport] [args to GetNuTool] [args to hMSBuild]
------

Arguments
---------
-action {type} - Specified action for Wizard. Where {type}:
  * Configure - To configure DllExport for specific projects.
  * Update    - To update pkg reference for already configured projects.
  * Restore   - To restore configured DllExport.
  * Export    - To export configured projects data.
  * Recover   - To re-configure projects via predefined/exported data.
  * Unset     - To unset all data from specified projects.
  * Upgrade   - Aggregates an Update action with additions for upgrading.

-sln-dir {path}    - Path to directory with .sln files to be processed.
-sln-file {path}   - Optional predefined .sln file to be processed.
-metalib {path}    - Relative path to meta library.
-metacor {path}    - Relative path to meta core library.
-dxp-target {path} - Relative path to entrypoint wrapper of the main core.
-dxp-version {num} - Specific version of DllExport. Where {num}:
  * Versions: 1.7.3 ...
  * Keywords:
    `actual` - Unspecified local/latest remote version;
               ( Only if you know what you are doing )

-msb {path}           - Full path to specific msbuild.
-hMSBuild {args}      - Access to hMSBuild tool (packed) https://github.com/3F/hMSBuild
-packages {path}      - A common directory for packages.
-server {url}         - Url for searching remote packages.
-proxy {cfg}          - To use proxy. The format: [usr[:pwd]@]host[:port]
-pkg-link {uri}       - Direct link to package from the source via specified URI.
-force                - Aggressive behavior, e.g. like removing pkg when updating.
-no-mgr               - Do not use DllExport.bat for automatic restore the remote package.
-mgr-up               - Updates DllExport.bat to version from '-dxp-version'.
-wz-target {path}     - Relative path to entrypoint wrapper of the main wizard.
-pe-exp-list {module} - To list all available exports from PE32/PE32+ module.
-eng                  - Try to use english language for all build messages.
-GetNuTool {args}     - Access to GetNuTool (integrated) https://github.com/3F/GetNuTool
-debug                - To show additional information.
-version              - Displays version for which (together with) it was compiled.
-build-info           - Displays actual build information from selected DllExport.
-help                 - Displays this help. Aliases: -help -h

Flags
-----
 __p_call - To use the call-type logic when invoking DllExport.bat

Samples
-------
DllExport -action Configure -force -pkg-link http://host/v1.7.3.nupkg
DllExport -action Restore -sln-file "Conari.sln"
DllExport -proxy guest:1234@10.0.2.15:7428 -action Configure

DllExport -mgr-up -dxp-version 1.7.3
DllExport -action Upgrade -dxp-version 1.7.3

DllExport -GetNuTool /p:ngpackages="Conari;regXwild"
DllExport -pe-exp-list bin\Debug\regXwild.dll