scientistproject / Scientist.net

A .NET library for carefully refactoring critical paths. It's a port of GitHub's Ruby Scientist library
MIT License
1.47k stars 95 forks source link

Support .NET Core and other platforms #35

Closed haacked closed 8 years ago

haacked commented 8 years ago

I don't think Scientist.NET uses much that requires it to target .NET 4.5+ only. If someone wants to make this work on .NET core I'd love it.

MarcosMeli commented 8 years ago

I will work in FileHelpers to support .Net Core, maybe I can start with Scientist that looks easier

Did you have a timeframe for this issue or I can look at it in the next week or two ?

Thanks

davezych commented 8 years ago

@Haacked @MarcosMeli I'd like to start on this if that's cool. I've already been working on https://github.com/davezych/shience in .NET Core so I think it would make sense for me to migrate this.

How cutting-edge would you like to be? If we support the current "stable" runtime of rc1-update1 we can target dnx451 and dnxcore50, but moving up to some nightlies will allow targeting Net Platform Standard which will get UWP, Windows Phone, DNX, Mono, Win8.1, etc with a single target. (You can view the table here: https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md#mapping-the-net-platform-standard-to-platforms).

haacked commented 8 years ago

@davezych fine with me if you've already done the work. :smile: The key thing for me is that the NuGet package still work for .NET 4.5+ projects. So, feel free to go to town on what you think is best here.

davezych commented 8 years ago

@Haacked it looks like I accidentally left the csproj file in the main project. That should probably be removed to avoid confusion.

I'll open a new issue for scripting the nuget package.

haacked commented 8 years ago

@Haacked it looks like I accidentally left the csproj file in the main project. That should probably be removed to avoid confusion.

Ok, I'll do that.

davezych commented 8 years ago

@Haacked close?

jpsingleton commented 8 years ago

I've been trying out the latest package as it looks from https://github.com/Haacked/Scientist.net/pull/37 like it should work in .NET Core, but I can't get it to build.

If I remove all references to the full .NET Framework so that the relevant section in my project.json looks like this:

  "frameworks": {
    "dnxcore50": { }
  },

Then I get this build error:

NU1002  The dependency Scientist 1.0.0-alpha5 in project ... does not support framework DNXCore,Version=v5.0.

Does this only support the latest drops of .NET Core or is RC1 still supported? Any ideas?

davezych commented 8 years ago

@jpsingleton rc1-final should be supported. I'll check this out and get back to you. I opened #54 to track it.

jpsingleton commented 8 years ago

@davezych great thanks. I was doing some basic research for a book and found this didn't work, although it looked like it should. I'm building a list of .NET Core supported libraries and frameworks at https://github.com/jpsingleton/ANCLAFS (work in progress), so I'll update that when this is working. Cheers.