DllExport - https://github.com/3F/DllExport - - - - - - - - - - - - - - - - - - - - - - [v1.6.1] 2018.08.05 * FIXED: Fixed bug when some methods cannot be exported. Issue #59. * FIXED: Bug 'The node is not parented by this object' when Configuring projects. Issue: #77. * FIXED: Fixed GDI objects leak in Wizard. * FIXED: `-msb` key cannot affect for GetNuTool section. Issue #74. * FIXED: Bug when automatic restoring still uses default keys from manager after configuring with custom `-server`. * FIXED: Problem with double quotes for `-packages` key. * FIXED: Possible incorrect repetition of the relative path for `-packages` key. * FIXED: Possible problem 'The request was aborted: Could not create SSL/TLS secure channel.'. Issue: #77. * FIXED: Possible problem with path when `-msb` key contains round brackets, e.g.: `D:\C\Program Files (x86)\Microsoft Visual Studio\`... * NEW: Implemented features for additional automation. Issue #76. New actions: * `-action Export` * `-action Recover` * `-action Unset` Documentation: https://github.com/3F/DllExport/wiki/DllExport-Manager#automation * NEW: Added proxy support for manager. The common format: `[usr[:pwd]@]host[:port]` Documentation: https://github.com/3F/DllExport/wiki/DllExport-Manager#proxy * NEW: Wizard. Added sorting an projects in main window by its installing status and by availability. * NEW: Wizard. Added filter for list of projects in main wizard window. * NEW: New 'Offline' versions from our packages. See GitHub Releases page. * NEW: Added key to force update `Reference` without PublicKeyToken. Issue #65. * NEW: Added `-force` key for manager to use aggressive behavior, e.g. like removing pkg when updating. Wiki: https://github.com/3F/DllExport/wiki/DllExport-Manager#receiving-new-package-version * NEW: New action `-action Upgrade`. Aggregates an Update action with additions for upgrading. Today's an Upgrade action: ``` DllExport -action Upgrade ... ``` is equal to: ``` DllExport -action Update -mgr-up -force ... ``` Wiki: https://github.com/3F/DllExport/wiki/DllExport-Manager#updating * CHANGED: Case sensitivity for the Action names. * CHANGED: `-action Default` for nothing. * CHANGED: UI layout fixes for -Info form (Thanks @Genteure, Issue #61). * CHANGED: Allows absolute path for `-packages` key. * CHANGED: `-sln-file` key now can affect to `-action Configure` * CHANGED: hMSBuild tool now is also distributed inside root directory of the packages zip & nupkg. Use this for EXP0014 problem: "RunIlAsm. The library manager still cannot be found." Example: https://www.youtube.com/watch?v=zUejJ4vUPGw * CHANGED: Updated GetNuTool v1.6.2 * CHANGED: Updated MvsSln v2.1.0 * OTHER: Some other fixes and changes with manager and wizard. * NOTE: To upgrade configured version: `DllExport -action Upgrade ...` * NOTE: Configuring projects: `DllExport -action Configure ...` * NOTE: Screencasts: * Quick start: https://www.youtube.com/watch?v=sBWt-KdQtoc * Basic examples for C++ and C#: https://www.youtube.com/watch?v=9Hyg3_WE9Ks * Complex types and Strings: https://www.youtube.com/watch?v=QXMj9-8XJnY * NOTE: Our actual wiki - https://github.com/3F/DllExport/wiki * Documentation for manager: https://github.com/3F/DllExport/wiki/DllExport-Manager [v1.6] 2017.12.29 * 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: ``` ... ``` * 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 [v1.6-RC] 2017.11.26 * FIXED: Avoids crashes when project cannot be loaded for some reasons. Issue #56 * FIXED: Fixed usage of manager outside the Solution directory. * FIXED: Fixed restoring package when using `-pe-exp-list` command. * NEW: Added `-mgr-up` key. Will update manager to version from '-dxp-version'. * NOTE: Thanks for your feedback. Now we're ready for release v1.6, soon. Please check release-candidate as carefully as possible. Start with: ============================== DllExport -action Configure ============================== https://3F.github.io/DllExport/releases/latest/manager/ https://www.youtube.com/watch?v=okPThdWDZMM&t=46s [v1.6-beta3] 2017.10.27 * NEW: Implemented another storage for configuration: '.net.dllexport.targets'. Issue #49. * 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 ``` * NEW: Implemented `-pkg-link {uri}` key for DllExport manager. Issue #53. * NEW: New settings for Wizard: * Path to custom ILAsm. * Flag to keep intermediate Files (IL Code, Resources, ...). * Timeout of execution in milliseconds. * CHANGED: Updated MvsSln v2.0. Full changelog: https://github.com/3F/MvsSln/blob/master/changelog.txt * NOTE: PE-features via Conari v1.3.0 https://github.com/3F/Conari [v1.6-beta2] 2017.08.19 * NOTE: This release contains trivial fixes only for our manager because of problems with nuget.org. Issue #38. Please read all changes in previous beta release and please note again - you shouldn't use standard nuget clients anymore: https://www.youtube.com/watch?v=okPThdWDZMM Test and comment anything about this in Issue #38 if you need. * FIXED: Updated GetNuTool v1.6.1 to fix problems with possible incorrect CRC & Compressed size info from nuget.org. Changelog here: https://github.com/3F/GetNuTool/blob/master/changelog.txt Related issues: * https://github.com/3F/GetNuTool/issues/3 * https://github.com/3F/DllExport/issues/38#issuecomment-322250229 * CHANGED: Changed url to get latest manager directly. Please use this if you need: * 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+ [v1.6-beta] 2017.08.12 * NEW: The new lightweight manager & distribution via MvsSln & GetNuTool projects. Issue #38. Based on hMSBuild logic and includes GetNuTool core. Now you shouldn't use standard nuget clients anymore: https://www.youtube.com/watch?v=okPThdWDZMM Package from nuget.org already contains this, but you can also get it directly. Latest version: https://raw.githubusercontent.com/3F/DllExport/latest/manager/DllExport.bat ~18 Kb text-based embeddable batch-scripts that does not require powershell and dotnet-cli. To install/uninstall or to reconfigure your projects: `DllExport -action Configure` To manually restore package: `DllExport -action Restore` All available features: `DllExport -h` Server by default - nuget.org * NEW: The new Wizard (configurator via MvsSln). To easy configure your projects in any place. Issue #38. MvsSln v1.0.1.43422: https://github.com/3F/MvsSln * NEW: Added support of global namespaces - Issue #47. Use `Direct-Mod` if Cecil will not process this correctly. * 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: ``` ... ``` * 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 The latest text-based manager you can find here: https://raw.githubusercontent.com/3F/DllExport/latest/manager/DllExport.bat Illustration here: https://www.youtube.com/watch?v=okPThdWDZMM [v1.5.2] 2017.03.13 * FIXED: Failing to compile in VS2017. Issue #29 `Error The "DllExportAppDomainIsolatedTask" task failed unexpectedly. System.ArgumentException: Requested value 'Version46' was not found.` * FIXED: Possible error `Could not load file or assembly Microsoft.Build.Utilities or one of its dependencies.` * CHANGED: Updated script for loading of the Configurator to avoid problem with old assemblies. Issue #22 [v1.5.1] 2016.11.12 * FIXED: Error : Invalid Option: /CVRES= Issue #20 * NOTE: Our coreclr version was compiled with MSVC 14.0. Related Issue #21 [v1.5] 2016.11.04 * FIXED: Fixed problem with white-space chars in path: `Cannot find path '' because it does not exist ...` * FIXED: Fixed typo with fullseq (ddNS) - incorrect `0x30 0x30` ~0x007A7-0x007A8 /details in #14 * FIXED: Possible problem with NullReferenceException when removing package. * FIXED: Fixed problem with old NS data when we try to install package for project A, then for project B * NEW: Implemented 'Generate .exp + .lib via MS Library Manager' #9 GUI Configurator + MSBuild property: `DllExportGenExpLib` * NEW: Added support of unmanaged-export for Executable Modules (.exe) #18 * NEW: Cecil variant for ddNS features /#14, #2 * NEW: Added our custom IL Assembler as option to fix incorrect 0x13 / 0x11 opcodes. #17 GUI Configurator + MSBuild property: `DllExportOurILAsm` It should help for users of Fody projects, etc. https://github.com/Fody/Fody/issues/271 IlAsm 4.5.1 https://github.com/3F/coreclr based on 4.5.22220.0 / coreclr 1.0.4 changelog of our coreclr for this release: https://github.com/3F/coreclr/blob/master/changelog.txt * CHANGED: Updated scripts of installing/removing package for more correct loading of our assemblies. [v1.4] 2016.10.05 * FIXED: Fixed bug - `An item with the same key has already been added`. Issue #10 * FIXED: Bug with Meta library: Incorrect default values. Issue #16 please note, the __cdecl is the default calling convention for our library as and for C and C++ programs. * FIXED?: Probably fixed bug - `Script errors on package install` Issue #6 * FIXED?: Probably fixed bug - `non-English system language - syntax error` Issue #7 * NEW: GUI Configurator with updated ddNS features. * NEW: Implemented feature 'Export for platform': [ x86 / x64 / x86 + x64 ] Issue #9 * NEW: Implemented feature 'Base for ordinals'. Issue #11 There is also alternative to configure this number - MSBuild property: DllExportOrdinalsBase * NEW: The one (1) now is used by default as Base for all ordinals. `Mimic ordinal counter (start from 1 instead of 0)` Issue #8 * CHANGED: The ddNS features now as binary cmdlet `NSBin`. Use `nsbin.bat` if needed. * CHANGED: `Set "Inherited = false" in AttributeUsage for DllExportAttribute`. Issue #15 * OTHER: other possible changes and fixes. [v1.3] 2016.08.21 * FIXED: bug 'Incorrect library' when DllExport installed for 2+ projects. * CHANGED: DllExport now uses `Cdecl` calling convention by default. * CHANGED: Mono.Cecil v0.9.6.4 [v1.2] 2016.07.13 * CHANGED: dynamic definition of namespace for user scope. Issue #2 [v1.1] 2016.06.29 * CHANGED: DllExport now is part of System.Runtime.InteropServices as and DllImport. * CHANGED: Mono.Cecil v0.9.6.1 * NEW: 0x80070005 meaning... Issue #1 * NEW: +DllExport(CallingConvention convention) signature [v1.0] 2016.06.25 * Initial the open release, based on v1.2.7.38850