feat: .NET Core and .NET Standard Support #177
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR migrates the core SharpGL libraries to target multiple platforms - the .NET Framework 4 and upwards, .NET Core and .NET Standard.
Just for fun, here's some SharpGL code running on MacOS:
Note that MacOS and Linux are not supported for anything graphical - yet - but this will come at a later stage hopefully. For now, the goal of this PR is to simply migrate to Visual Studio 2019, the latest project file format and to maximise compatibility going forwards (for example, allowing for .NET Core WinForms and WPF applications to be able to use SharpGL).
TestHelper
class has been duplicated. (Extracted as issue refactor: Duplicated "TestHelper" code #179).NETDesignSurface
has not be initialised. (Extracted as issue bug: The .NET Design Surface is not initialised #180).dotnet msbuild
#if DEBUG
for 'insideGlBegin` is sloppy and an anti-pattern, we might prefer to have a mode which allows robust automatic error checking or simply make it a consumer responsibility. (Extracted as issue refactor: Remove automated error checking in debug mode #181).extensions
folder - the extensions might be better as a separate solution. (Extracted as refactor: Extract Extensions into separate repo #182).source
tree. (Extracted as issue refactor: Remove unneeded nesting in folder structure #184).libGL.so.1
oropengl32.dll
depending on platform. (Extracted as feat: Support MacOS #185 and feat: Support Linux #186).Closes #166.