Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic support for the netcore-based projects #123

Merged
merged 6 commits into from
Jan 27, 2020
Merged

Conversation

3F
Copy link
Owner

@3F 3F commented Oct 28, 2019

+netstandard and netcoreapp project types.

Here's my explanation about today's solution:

Please comment and test while WIP.

Known problems

Other System.Object in modified assembly

Here details: #90 (comment)

Some optional rebase is possible via my assembler feature 4.700.2+, see issue #125:

Possible incorrect Sdk-based project types

This is so because:

modern Microsoft.Build assemblies are much more closely integrated with Visual Studio and much more difficult to maintain independently (ie. without VS/dotnet sdk dependencies).

MvsSln project will resolve this problem through: 3F/MvsSln#23

But for our project today is also possible the way through https://github.com/3F/hMSBuild

I mean, works great:

DllExport -msb hMSBuild

So I'm thinking about temporary integration hMSBuild into our DllExport.bat.

Or at least use from packages, eg. DllExport.1.6.5/hMSBuild.bat already provides this tool.

  • 1.6.5 provides a not fully compatible tool for SDK-Based projects [?]

MvsSln solution vs external hMSBuild

After testing the first beta releases, 1.7 most likely will contain the calling of external hMSBuild until MvsSln solution.


Closes #90, Closes #67
Cc: @NickAcPT, @PatVax, @longlostbro

@3F 3F added the enhancement label Oct 28, 2019
@3F 3F added this to the 1.7 milestone Oct 28, 2019
3F added a commit that referenced this pull request Nov 4, 2019
* NEW: Basic support for the netcore-based projects.
       Issues: #90, #67
       PR: #123

* CHANGED: Updated CoreCLR 3.0 IL Assembler 4.700.1
           https://github.com/3F/coreclr

* CHANGED: Updated Mono Cecil 0.11

* CHANGED: Updated MvsSln 2.5

* NOTE: You also need an updated manager to avoid problem
        when "Possible incorrect Sdk-based project types": PR #123
        3F/MvsSln#23

        Use it from official 1.7-beta release:
        https://github.com/3F/DllExport/releases/tag/v1.7-beta
        https://www.nuget.org/packages/DllExport/1.7.0-beta

        Otherwise you need provide manually msbuild instance
        that can process modern Sdk-types due to modern VS/dotnet sdk
        dependencies for netcore-based projects.

        For example, through hMSBuild https://github.com/3F/hMSBuild
        ```
        DllExport ... -msb hMSBuild
        ```

* NOTE: To upgrade configured version to 1.7 beta:
        ```
            DllExport -action Upgrade -dxp-version 1.7.0-beta
        ```

* NOTE: Please don't use beta releases in production!

* NOTE: Please report about something here: https://github.com/3F/DllExport/issues

* KNOWN: You can finally get another System.Object in modified assembly:
         #90 (comment)
Same to "Possible incorrect Sdk-based project types" that was described in #123

Latest hMSBuild changes includes `-vsw-as` related commands. Details will be in #123
@3F 3F changed the base branch from master to br/1.6.x January 18, 2020 22:58
@3F
Copy link
Owner Author

3F commented Jan 18, 2020

Latest hMSBuild changes includes -vsw-as commands with the new default behavior.
3a02ed6

Finally it helps to resolve "Sdk.WindowsDesktop" problem in actual 1.7-beta3 release (local report by Sg werweiss)

However, the fix depends on the published package and will not help until upgrading version at used channel.

The other temp command for old versions that can help before public release:

(set _x=DllExport -dxp-version 1.7.0-beta3 & call %_x% -action Default & for /F "tokens=*" %i in ('hMSBuild -only-path -vsw-priority Microsoft.NetCore.Component.SDK') do call %_x% -msb "%i")

3F added a commit that referenced this pull request Jan 21, 2020
* NEW: Allowed .NET Standard 1.1 and above targeting.

* FIXED: Fixed "Sdk.WindowsDesktop" problem for .NET Core / SDK-based projects.
         Details in PR #123.

* FIXED: Fixed beta3 incorrect layout (Thanks @Genteure, PR #131).

         Related problem with `Inf/-Inf token patching` option:
         #128 (comment)

* FIXED: DllExport crashing with proxy authentication error. Issue #133.

* FIXED: Fixed actions for `-mgr-up` key.
         Including `-action Upgrade` ( Update + mgr-up + force keys )

* FIXED: Fixes possible MSB1006 for proxycfg property.
         "MSB1006: Property is not valid. Switch: proxycfg"

* CHANGED: UI. VS project icons under Visual Studio 2017 Image Library EULA.RTF license.

* CHANGED: init.ps1 adds optional copying of package data for our manager.
           Part of the "new installation behavior through official NuGet." (beta2)

           Please note: This is not nuget support!
                        It just replaces known info-form that was in 1.6.x.

* CHANGED: Local scope when invoking .\DllExport manager in project files.

* CHANGED: Updated GetNuTool 1.8
           https://github.com/3F/GetNuTool/releases/tag/1.8

* NOTE: Please don't use beta releases in production!

* NOTE: Please report about something here: https://github.com/3F/DllExport/issues
@3F 3F changed the title WIP. Basic support for the netcore-based projects Basic support for the netcore-based projects Jan 27, 2020
@3F 3F merged commit 3a02ed6 into br/1.6.x Jan 27, 2020
@3F 3F deleted the dev/netcore/ilasm branch January 27, 2020 16:38
3F added a commit that referenced this pull request Jan 31, 2020
* NEW: .NET Core based projects support.
       Issues: #90, #67
       PR: #123

* NEW: .NET Standard 1.1 and above targeting support.

* NEW: Implemented "Single + Double Inf/-Inf token patching" option.
       Related Issue #128.

* NEW: Implemented "Rebase System Object" option for our assembler.

        Helps to avoid possible "Invalid memory access" (JNA/Java). Issue #125.
        For C/C++ such as "Unhandled exception at ... (KernelBase)"

        https://twitter.com/GitHub3F/status/1201904821093187585
        Part of PR #123

* NEW: Implemented updater for wizard. Issue #109.

* NEW: Textual export of affected data to diag.

* CHANGED: Updated CoreCLR 3.1.0 LTS \ IL Assembler 4.700.2.
           https://github.com/3F/coreclr/releases/tag/ILAsm.4.700.2

           Includes an implemented `/REBASE` feature for related issue #125.

* CHANGED: New installation behavior through official NuGet.
           init.ps1 also adds optional copying of package data for our manager.

           Please note: This is not nuget support!
                        It just replaces known info-form that was in 1.6.x.

* CHANGED: New wizard layout for 1.7.

* CHANGED: Local scope when invoking .\DllExport manager in project files.

* CHANGED: Updated logic for an offline versions
            with optional converting to online if needed.

* CHANGED: Updated MvsSln 2.5.1
           https://github.com/3F/MvsSln/releases/tag/2.5.1

* CHANGED: Updated hMSBuild 2.3
           https://github.com/3F/hMSBuild/releases/tag/v2.3

* KNOWN: You can finally get another System.Object in modified assembly:
         #90 (comment)

* NOTE: You need an updated/modern manager to avoid problem
        when "Possible incorrect Sdk-based project types": PR #123
        3F/MvsSln#23

        Use it from official 1.7 release:
        https://github.com/3F/DllExport/releases/tag/v1.7
        https://www.nuget.org/packages/DllExport/1.7.0

        Otherwise you need provide manually msbuild instance
        that can process modern Sdk-types due to modern VS/dotnet sdk
        dependencies for netcore-based projects.

        For example, through hMSBuild https://github.com/3F/hMSBuild
        ```
        DllExport ... -msb hMSBuild
        ```

* NOTE: For command-line mode, To upgrade configured version to 1.7:
        ```
            DllExport -action Upgrade -dxp-version 1.7.0
        ```
@3F 3F mentioned this pull request May 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant