Adds Post-Processing feature. Related issue #144 by 3F · Pull Request #148 · 3F/DllExport
3F
marked this pull request as draft
…ironment:
Format: $(SolutionPath);$(MSBuildThisFileFullPath);...populated property names...;....
```
<Target Name="DllExportPostProc">
<!-- Now we can access the following properties and items:
$(DllExport) - version
$(DllExportSln) - full path to .sln which controls current project
$(DllExportPrj) - full path to current project where processed .NET DllExport
@(DllExportDirX64) - $(TargetDir)x64\*.*
@(DllExportDirX86) - $(TargetDir)x86\*.*
@(DllExportDirBefore) - $(TargetDir)Before\*.*
@(DllExportDirAfter) - $(TargetDir)After\*.*
@(DllExportDependents + populated property name)
- each populated properties from DllExportInvokedPoint, e.g. DllExportDependentsTargetDir
@(DllExportDependencies + populated property name)
- each populated properties from DllExportInvokedPoint, e.g. DllExportDependenciesTargetDir
-->
</Target>
```
3F
marked this pull request as ready for review
3F added 5 commits
May 2, 2020 21:533F added 2 commits
May 3, 2020 13:33
3F
mentioned this pull request
3F added a commit to 3F/MvsSln that referenced this pull request
May 5, 2020* NEW: Activating ProjectReferences for existing ProjectDependencies (shallow copy) through new flag.
Issue #25.
```
ProjectDependenciesXml = 0x0800 | ProjectDependencies | Env,
```
Covers ProjectDependencies (SLN) logic using data from project files (XML).
Helps eliminate miscellaneous units between VS and msbuild world:
#25 (comment)
Requires Env with loaded projects (LoadMinimalDefaultData or LoadDefaultData).
A core feature in .NET DllExport Post-processing:
3F/DllExport#148
* NEW: `ProjectReference` support without obsolete projectguid. Issue #26.
* NEW: IXProject methods:
```
+IXProject.GetFullPath(string relative)
```
* FIXED: Fixed possible empty records in SlnParser.SetProjectItemsConfigs.
* FIXED: Fixed `The given key was not present...` when different case for keys in Item.Metadata.
* FIXED: Fixed protected XProject GetProjectGuid() + GetProjectName() when empty property.
* CHANGED: Compatible signature update for `ForEach<T>` extension method:
```
IEnumerable<T> ForEach<T>(this IEnumerable<T> items, Action<T> act)
```
* CHANGED: Updated Microsoft.CSharp 4.7.0 (Only for: netstandard2.0 + netcoreapp2.1)
* CHANGED: Updated Microsoft.Build 16.5.0 (Only for: netcoreapp2.1)
3F added 2 commits
May 6, 2020 15:13
3F
changed the title
WIP. Adds Post-Processing feature. Related issue #144
Adds Post-Processing feature. Related issue #144
3F
deleted the
dev/postproc
branch
3F added a commit that referenced this pull request
May 7, 2020* NEW: Pre-Processing feature. PR #146. Related issue #40 Official ILMerge support; https://github.com/dotnet/ILMerge Quick integration with Conari for most easy access to unmanaged features; https://github.com/3F/Conari +Other related tools and assembly manipulations. Manual configuring: #40 (comment) * NEW: Post-Processing. PR #148. Continues direction of Pre-Processing feature. PR #146 Related issue #144 Explanation and details: https://ko-fi.com/Blog/Post/ILMerge---Conari---Debug-information---DllExport-=-O5O61MV8A 1.7.1 Provides only basic GUI support for predefined options. Thus, *! Some Post-Proc features are not yet available in GUI. But you can already configure it with msbuild: ``` <Target Name="DllExportPostProc"> <!-- After activation, you can access the following properties and items: $(DllExport) - version $(DllExportSln) - full path to .sln which controls current project $(DllExportPrj) - full path to current project where processed .NET DllExport @(DllExportDirX64) - $(TargetDir)x64\*.* @(DllExportDirX86) - $(TargetDir)x86\*.* @(DllExportDirBefore) - $(TargetDir)Before\*.* @(DllExportDirAfter) - $(TargetDir)After\*.* @(DllExportDependents + populated property name) - each populated properties from DllExportProcEnv, e.g. DllExportDependentsTargetDir @(DllExportDependencies + populated property name) - each populated properties from DllExportProcEnv, e.g. DllExportDependenciesTargetDir @(DllExportSeqDependents + populated property name) - each populated properties from DllExportProcEnv, e.g. DllExportSeqDependentsTargetDir --> </Target> ``` #148 (comment) * NEW: Optional copying of intermediate files + x86+x64 directories into output for projects that dependent on projects where used DllExport. Issue #144. Including sequential referencing through other projects: #148 (comment) * FIXED: Fixed #140 ... failed to create safe SSL/TLS context. * FIXED: Pack of fixes for .net.dllexport.targets. PR #147. * Fixed "Cannot modify an evaluated object originating in an imported file". * Fixed possible duplication in .net.dllexport.targets when configuring. * Adds removing TargetsFile if not used. * Fixed possible loss of settings in .targets when configuring. * FIXED: Fixed #143 'Microsoft.NET.Sdk' specified could not be found. * FIXED: A multiple empty `<PropertyGroup />` in project files during new configuration. * CHANGED: Wizard. Dropped support for ssl3 + tls1.0 + tls1.1 * CHANGED: Wizard. Simplified notification for stable versions. * CHANGED: Manager. Access to hMSBuild tool (packed) via `-hMSBuild` key. https://github.com/3F/hMSBuild Since it uses packed version (while GetNuTool is integrated inside), you need use -dxp-version to control specific version. * CHANGED: Updated Cecil 0.11.2 https://github.com/jbevain/cecil/releases/tag/0.11.2 * CHANGED: Updated MvsSln 2.5.2 https://github.com/3F/MvsSln/releases/tag/2.5.2
3F
mentioned this pull request
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters