-
Notifications
You must be signed in to change notification settings - Fork 200
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
Dotnet core? #149
Comments
Yes, we have. But in mind only. First of all we should solve problems with "legacy" PEX-based tests (Issue #5), CodeContracts, and may be with PCL (Issue #6). More over, seems that F# is not fully supported, migration is not actual just now because there are many algorithms implemented in F#. Yes, we can use F# but it is a challenge. I think that port QuickGraph to .Net Core is good idea, but we will work on it a bit later. |
Any progress on this? Now that Core is RTM and already iterating over new versions |
+1 Would love to use in a .NET Standard library. Thank you. |
@gsvgit hello! How's the progress on this? Any way that I can support the changes to allow .NET Core? |
@legnars hello! Seems, that we still can get problems with CodeContracts (seems that it is not ported to .NET Core: microsoft/CodeContracts#231) Could you do some "research" to create a detailed list of problems? If we still have serious problems, we should discuss it. Maybe we should find replacement for PEX and CodeContracts or just drop them out (but the last case is not preferable). |
@gsvgit based on this commentary |
I agree with @legnars. Code Contracts is a legacy framework. Microsoft has moved on from that. |
@gsvgit Yes, I can! I have not worked with PEX before! But if we can run them in .NET Framework it would be validating the same code as in .NET Core, right? So it can wait while we migrate the tests. |
@legnars Can you look at https://github.com/deniszykov/code-contracts-remover ? It may help us to convert CodeContracts' conditions to "if (cond) then ... else throw ...". I think that it is one of the more appropriate ways of conditions conversion. On PEX. Yes, it can wait. PEX generates tests for compiled binaries. As far as .NET Core binary format (instructions set) has differences from .NET Framework, it may be impossible to use PEX for .NET Core project. So, my proposal is:
|
@legnars If we support the multitarget project, then we can test it ones. So, yes, let try to save tests for .NET framework build and turn it off (temporary) for .NET Core. |
@gsvgit after removing CodeContracts from the project (and making the proper changes), 11 tests started failing:
They all break on this new line in the UndirectedEdge class: if (Comparer<TVertex>.Default.Compare(source, target) > 0) { throw new System.ArgumentException("source", "Comparer<TVertex>.Default.Compare(source, target) <= 0"); } Except for YenZeroCaseTest, which breaks on this new line in the DijkstraShortestPathAlgorithm class: if (!(this.VisitedGraph.ContainsVertex(rootVertex))) { throw new System.ArgumentException("rootVertex", "this.VisitedGraph.ContainsVertex(rootVertex)"); } Could the new if-then logic be revealing past broken tests? |
Not to step on any toes, I am using YC.QuickGraph via nuget in a netstandard2.0 project, and I am not seeing any issues using it (with exceptions of nuget warnings for DotNet.Contracts). It would be interesting to know if the tests are successful however. @legnars are you running tests via dotnet core? or via .NET? If the former, if you could point me to the repo I am keen to have a look at those failing tests. |
Is there any progress? |
Hello, I forked this QuickGraph repository (here) and put a lot of effort to make it fully .NET Core compliant. I extended support of the library and obviously created targets for .NET Core. I added a huge set of unit tests that are all green. I get rid of PEX for unit testing. Side note: this massive refactor was only done for QuickGraph core project for now. |
when can we get Quickgraph compatible for .net core 3.1? |
Do you have any plans to port Quickgraph to be usable in dotnet core?
The text was updated successfully, but these errors were encountered: