312 строки
15 KiB
Plaintext
312 строки
15 KiB
Plaintext
DllExport - https://github.com/3F/DllExport
|
|
- - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
[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:
|
|
```
|
|
<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
|
|
|
|
|
|
[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:
|
|
```
|
|
<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
|
|
|
|
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 '<any full path with spaces>' 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
|
|
|