microsoft/GraphEngine

.Net Core 3.1 Support

TonyLo1 opened this issue · 20 comments

Could you please provide an update on the current status of adding .Net core 3.1 support? For both Ubuntu and Windows 10.

@TaviTruman, I saw that you had a Core 3.0 version running a few months back. Is this available anywhere?

yatli commented

Anything netstandard2.0 is compatible with .NET Core 3.1.

Thanks for the quick response. When building on Ubuntu with .net core 3.1 installed it fails to build with error saying can't find .net core 2.0

@TonyLo1 The GE codebase is baed on .netstandard2.0 and it does work with .net core 3.1; we have been using and testing with .netcoreapp 3.0 and 3.1 and all seems to be well. The GE Visual Studio tooling in VS 2019 is broken as the Templated code generation for GE App does not work but you can build what you need by hand. I'd personally like to see the GE codebase based on .netstandard2.1 as the current VS tooling has standardized on .netstandard2.1.

@TonyLo1 Oh, that sounds like a build issue; we only execute build from Windows OS and I'm running the most recent version of the .NET Core 3.1 SDK - we need to take a look at the build scripts for the linux-based OS set.

ok. That's good news. So it must be something to do with my config. I have followed the setup instructions to the letter (twice). Installed on Ubuntu 18.04.

I get one compile error (which I can work around but strange that it is there)
GraphEngine/src/Trinity.C/src/Storage/MemoryTrunk/MemoryTrunk.AddressTable.cpp:182:9: error: jump to label ‘exit’

I also get this:
It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '2.0.0' was not found.

  • The following frameworks were found:
    3.1.2 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]

This is why I, incorrectly, assumed there was no support for .net core 3.1

Any suggestions gratefully received.

I was just looking at the directions for Ubuntu build instructions to see if it explicitly stated .NET Core 2.0 be installed; it does not but I would assume that you have installed the .NET Core 2.0 SDK.

I installed the .NET Core 3.1 SDK to match the .NET core 3.1 runtime

This is just an FYI:

image

.NET Core .NET Standard
1.0 up to 1.6
2.0 up to 2.0
2.1 up to 2.0
2.2 up to 2.0
3.0 up to 2.1

https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-manager-ubuntu-1910
https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-manager-ubuntu-1804
https://gist.github.com/jniltinho/e83b833ace20a6b89d1b42f81c4f28c1

I would think if you have installed the .NET Core 3.1 SDK the .NET Core 2.0 App should be included.

Ok, thanks. I will try to build it on Windows 10.

Builds fine under Windows 10 following the instructions. So appears to be the Ubuntu (18.04) build process that is not correct.

Yup, that was my first logical figuring

@TonyLo1 I've stood up and Ubuntu (18.04) VM and am looking into fixing the build bug.

@TonyLo1 We have the Ubuntu (18.04) VM setup and we can confirm the build issues and failure. We are working on the fix now; we will also update the docs too.

@TonyLo1 We have resolved the build issue on Ubuntu 18.04; I want to run one more test and then I'll publish the fix. I want to make certain that all of the demos compile and run as well.

Is support for .NET 5 going to be added, and included with a VS Extension update for VS 2019 2020

@TonyLo1, @channell Yes, we are testing .NET 5 now and we have updated the current VS Extenstion for Graph Engine; I've been working on a fully redesigned and rewrite of the GE VS Extenstion - it is quite outdated. I will have a PR ready with support for .NET 5 and updates to VS Extenstion ready next week.

@TaviTruman This is great. Thanks for the hard work

The .NET projects have been updated to support .NET 6.0. I'll close this issue later.

@shaobin Thanks Dr. Shao