-
Notifications
You must be signed in to change notification settings - Fork 150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Porting to .Net Core #108
Comments
I'd like to add that naming this repository "encog-dotnet-core" mislead the user into thinking that it has been made for .NET Core. |
The name encog-dotnet-core refers to it is the "core" Encog project. Just like there is the encog-java-core project. It predates the .Net core project. Does .Net core code work on regular .Net or is this a whole new platform to support? |
.NET Core and .NET Framework are a bit different, they don't share all of the existing APIs. However, .NET Core and .NET Framework both share .NET Standard (Microsoft recently deprecated the PCL for .NET Standard 2.0, so today if you want to make a library .NET Standard 2.0 is the way to go). Here's a little diagram Microsoft made : I ran the Portability Analyzer on Encog and around 86% of the assembly is compatible with .NET Standard 2.0. Here are the actual results : Api Port Analysis.xlsx. |
So, I locally tried to make a basic port of Encog to .NET Standard 2.0, and the results are pretty good.
I have yet to test the result of this "port" but considering I did not change the original code it should still work correctly (except for all these Forms). |
Thanks for all of the info. I probably have some reading to do. The parts of Encog that use forms are mostly contributed classes that are not at all central to what Encog does. I could move those to another DLL file. I am not too fond of the idea of splitting Encog into 3 .Net flavors, it takes enough time just keeping Encog Java and C# synced up. But I will read up more on how might be the best way to support the various .Net variants. |
You might have misunderstood me here, supporting .NET Standard means supporting .NET Framework and .NET Core at the same time. |
I feel like this repository should probably be renamed. I read the name and assumed that it referred to a .NET Core (or .NET Standard) implementation of Encog, not the core implementation of Encog in .NET. It wasn't until I added a NuGet reference and observed an issue on the dependency that I discovered the error of my assumption. |
The reason it is named "core" is because the library in Java, C#, C, and JavaScript that contain the core functions is named "core". I don't want to rename C# version (which would have some breaking changes) and leave the others as as. They were all named in 2008, well before the .Net side fragmented into several different run times. I do not currently have time to port this to the various .Net CLR forks, I would be glad to merge such changes. |
Can you even do a pull request to rename a repository? That's usually governed in repo settings. |
Hi,
I have one question about using the project in .Net core.
Is it possible to port the project to .Net core? or are there too many .Net 4.5 dependencies ?
The text was updated successfully, but these errors were encountered: