I have the [unfortunate] responsibility of delivering a piece of research code written in C# on Windows to a customer to be dockerized and run on CentOS 7. As a result, I have made a couple of commits to my gdal repo on Github that I would eventually like
to incorporate into the mainline. I'm happy to contribute these at some point, but I'd like to provide them to the community in the meantime in case anyone else can take a look or use them in their current work.
1. Fix C# build issues with SWIG 3.0.8 (ewenger/gdal, branch csharp-swig3x, commit d7e3963). This commit fixes a number of issues that have caused users to have difficulty building code generated with later versions of SWIG. With this change, all build issues
with SWIG 3.0.8 and Mono/VS .NET 4.x are resolved.
2. Support building gdal using the .NET Core 2.0 framework/SDK. (ewenger/gdal, branch dotnet-core-2.0, commit cfd8ce2). This commit adds solution and project files that support building the csharp binding dlls using the .NET Core 2.0 SDK. I could use some
advice here, since the new .NET Core 2.0 SDK is, as usual, unfriendly to external build tools. From what I have learned so far, there is no way to call the new C# compiler directly and integrate the build into GDAL's makefile structure. I'd like to find
a way around committing solutions and projects, so please let me know if you have ideas.