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

Notes for .NET 5 / .NET 6 #2324

Closed
siegfriedpammer opened this issue Mar 1, 2021 · 3 comments · Fixed by #2642
Closed

Notes for .NET 5 / .NET 6 #2324

siegfriedpammer opened this issue Mar 1, 2021 · 3 comments · Fixed by #2642

Comments

@siegfriedpammer
Copy link
Member

Before we are ready to move to .NET 5 / 6, we must change the way plugins are loaded:

  • Use AssemblyLoadContext.Default instead of plain Assembly.Load
  • Assemblies referenced by plugins need a custom AssemblyLoadContext.Resolving handler
@isaiah
Copy link

isaiah commented Mar 2, 2021

How much effort is it needed?

@christophwille
Copy link
Member

See #2323 - this PR lays the groundwork with the exception of what Siegfried mentioned in this issue (we have a prototype, it is rather simple). The reason for not moving to multi-tfm is that (a) our unit tests target netcore31, (b) the wapproj doesn't like multi-tfm. Not because this issue is hard.

christophwille added a commit that referenced this issue Mar 23, 2021
…time ago.

What doesn't work:

ILCompiler.Reflection.ReadyToRun.dll is not copied to the output folder (?)
VS doesn't remember the last target framework from the previous session (maybe that include trick is tripping it up?)
global.json is getting in the way with major (if you have 3.1 on the machine, it will lock to that and net5 projects won't load)

Trying it out: copy multitargeting.props.template to multitargeting.props
@siegfriedpammer
Copy link
Member Author

Once we have moved to .NET 5 or 6, we could adapt our deployment strategy to produce a framework-dependent binary release, which is then zipped (like today).

christophwille added a commit that referenced this issue Mar 28, 2021
* Work on #2324 with code written for a PoC with Siegfried Pammer some time ago.

Trying it out: copy multitargeting.props.template to multitargeting.props

* Copy all files to the output folder (otherwise NuGet assemblies aren't there for net5.0 which is nasty for debugging, and publish doesn't pick them up either)
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 6, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants