.Net 5 Support
TheLastRar opened this issue · 1 comments
TheLastRar commented
With .Net 5, the .Net framework runtime will be replaced with .Net Core, As such, I will need to investigate what changes, If any, are required to add support.
A .Net Core build was done for done when investigation solutions for the Linux, so some work has been partilly completed.
-
Invistigate missing managed API's and workaround if needed
.NET Core does not have all the APIs of .NET Framework, however, This project was only effected by the lack of Winforms. This should be resolved as of .NET 3.0 -
Native Exports
- On windows, this is currently achived via DllExport, which lacks .Net Core support (3F/DllExport#90).
Core 3.0 brings support for C++/CLI, so the required IL added by DllExport should be supported) - A C++/CLI wrapper might be possible, I've had issues surrounding plugin reloads as the wrapper and main plugin would be different assemblies, leading to "assembly hell" if multiple version of the same plugin was present. This was ogrinaly solved with the use of AppDomanins (before switiching to DllExport) but that technology is now absent.
- A C++ hosting wrapper (as was tested for Linux) might be possible if the COM api provides more control over the runtime vs the linux api (which was lacking). Plugin reloads will lickly still be a hard problem to fully solve.
- Possible addition to C# language to provide DllExport has been suggested, minimal progress seems to have be made regarding getting it approved dotnet/csharplang#308
- On windows, this is currently achived via DllExport, which lacks .Net Core support (3F/DllExport#90).
-
Runtime/PCX2 Interaction
While the .Net Framework had almost no issues running within PCSX2, CoreCLR and Mono have both presented issues;- .Net Framework's System.Console does not get redirected by PCSX2, requiring a workaround to correctly log to the console.
- Mono required signal chaning to be enabled and, more recently, preemptive thread suspend before the runtime is stable.
- CoreCLR reportly would crash, this is an old report that I was unable to reproduce.
- CoreCLR would interfere with the console redirection code (https://github.com/dotnet/corefx/issues/27935), causing PCSX2 to hang on exit, this mignt be a Linux only issue and would need to be checked on windows.
TheLastRar commented