Reloaded II - Support .NET 5 #12
Labels
accepted
Proposed change was accepted to be fixed/handled by the developers.
completed
Work has been completed by the developers.
help wanted
Extra attention is needed
Milestone
A few days ago, .NET 5 was introduced, alongside upcoming features such as
Java interoperability
andsupport for static AOT compilation based on LLVM
, which to me both sound like a wet dream allowing to both introduce a larger user base to Reloaded and bring forth considerable startup performance improvements.Nonetheless, it would be nice to have Reloaded running on bleeding edge frameworks as it always been the case. Ideally I would very much like to be able to have mods running on .NET Standard DLLs, but thus far this has not been possible.
The Major Problem: DLL exports
Reloaded and Reloaded-II are based both on DLL Injection, which requires the use of DLL Exports.
3F/DllExport
Currently support for DLL Exports is provided by
3F/DllExport
, which unfortunately does not support either the newProject SDK
.csproj
format or.NET Standard/.NET Core/CoreCLR
.The author is uncertain of when support may arrive due to a busy lifestyle. 3F/DllExport#90
An alternative path?
On the other hand, the inclusion of DLL Exports in Roslyn and the C# language has been a long requested feature: dotnet/csharplang#308 , dotnet/roslyn#1013 , dotnet/roslyn#11771 etc.
It is known that DLL Exports already is and has for a long time been supported inside both .NET Framework as well as more recently CoreRT.
In a context slightly unrelated to Reloaded. Given that in nature .NET 5 will unify the three major runtimes, I believe the DLL Export feature would be especially useful if not simply absolutely necessary when working on Linux/OSX/Unix environments where the native C & C++ languages dominate to allow the mixing of managed and unmanaged code.
Time will only tell should DLL Exports become an official language feature.
The text was updated successfully, but these errors were encountered: