Skip to content
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

.NET Core support #17

Closed
LeeCampbell opened this issue May 11, 2016 · 23 comments
Closed

.NET Core support #17

LeeCampbell opened this issue May 11, 2016 · 23 comments

Comments

@LeeCampbell
Copy link
Collaborator

LeeCampbell commented May 11, 2016

Ideally HdrHistogram should be available on all supported versions of .NET.
Currently this is 4.5.2 & 4.6.1
It may however be prudent to wait until .NET Core and supporting tooling is available before undertaking this task, as it may incur alot of rework if the goalposts move by too much.

@LeeCampbell LeeCampbell added this to the R3 - .NET Core support milestone Sep 2, 2016
@LeeCampbell LeeCampbell modified the milestones: R3 - .NET Core support, R4 - Tag support Sep 12, 2016
@LeeCampbell LeeCampbell changed the title Broad platform support .NET Core support Sep 12, 2016
@alhardy
Copy link

alhardy commented Oct 30, 2016

Any movement on a .net core or better yet a build for .net standard?

@LeeCampbell
Copy link
Collaborator Author

LeeCampbell commented Oct 31, 2016

There was an early attempt to port to DNX, but just as @qooroo and I started making progress, things changed (beta, dnx vs dotnet, pcl/core/standard etc). Now that .NET Standard seems to be settling down as the way to package libs, I will look at that.
Help is appreciated, else I will probably see what Json.NET has done and copy him.

@alhardy
Copy link

alhardy commented Nov 2, 2016

OK, this is only my list, happy to help out when I get to it if not done by then

@alhardy
Copy link

alhardy commented Nov 28, 2016

@LeeCampbell I've ported the main library to .NET Standard, there wasn't too much to do there.

There is however an issue with the benchmarking project, there's no .net core build for BenchmarkDotNet.Diagnostics.Windows so we wouldn't be able to make use of the MemoryDiagnoser

I could leave the HdrHistogram.Benchmarking as a .net 4.6.1 project however csproj with xproj references don't work, the benchmark project would have to reference HdrHistogram as a nuget package.

Thoughts?

@alhardy
Copy link

alhardy commented Nov 28, 2016

Actually I can reference HdrHistogram.xproj using a reference with a hint path rather than a project reference, happy with this approach? i.e.

 <Reference Include="HdrHistogram">
      <HintPath>..\HdrHistogram\bin\Debug\net461\HdrHistogram.dll</HintPath>
    </Reference>

@LeeCampbell
Copy link
Collaborator Author

LeeCampbell commented Nov 28, 2016

Thanks for chasing this up @alhardy. The goal of the MemoryDiagnoser in the Benchmark is purely to ensure that we are not allocating on the hot path. However, this isn't part of an automated rig that can fail the build if we do. So if we cant have the .NET Framework specific code then so be it.

However I do like your work around. Are you able to set up a Pull Request? I will pull down locally and see if it plays nicely on my machine too.

@alhardy
Copy link

alhardy commented Nov 28, 2016

@LeeCampbell pushing now, I've also updated the unit test and example project to .net core.

We'll still have to look at the build script though, most of it can be retired as the dotnet cli will take care of of packaging, snk etc. Would you be able to take care of this?

alhardy added a commit to alhardy/HdrHistogram.NET that referenced this issue Nov 28, 2016
@alhardy
Copy link

alhardy commented Nov 28, 2016

There's my commit ^

I won't create a PR yet as the build script won't be working. Let me know if you want me to take a look at this or if your happy to.

@alhardy
Copy link

alhardy commented Nov 28, 2016

One other thing, there doesn't seem to be an unit equivalent to xunit.runner.visualstudio allowing nunit tests to be run in visual studio for .net core, I'm using resharper which works fine otherwise running dotnet test in the unit test project works as well.

alhardy added a commit to alhardy/HdrHistogram.NET that referenced this issue Nov 28, 2016
alhardy added a commit to alhardy/HdrHistogram.NET that referenced this issue Nov 28, 2016
@alhardy
Copy link

alhardy commented Nov 28, 2016

@LeeCampbell I've pushed a working build script in the commit above, you'll need to install the VS Update 3 and latest dotnet cli https://www.microsoft.com/net/core#windowsvs2015

I've moved the solution file and test project for this which is following the now default project structure

@mattwarren
Copy link
Member

mattwarren commented Nov 28, 2016

There is however an issue with the benchmarking project, there's no .net core build for BenchmarkDotNet.Diagnostics.Windows so we wouldn't be able to make use of the MemoryDiagnoser

@alhardy, this will change quite soon, see dotnet/BenchmarkDotNet#308 (comment) for more info

@alhardy
Copy link

alhardy commented Nov 28, 2016

were benchmarks run on every build or something that was run adhoc. For now we could add another script to run benchmarks independently and/or have flag on the build script to call out to this?

Otherwise wait for dotnet core support on benchmarkdotnet diagnostics?

@LeeCampbell
Copy link
Collaborator Author

LeeCampbell commented Nov 29, 2016

@adamsitnik
Copy link

adamsitnik commented Nov 29, 2016

Otherwise wait for dotnet core support on benchmarkdotnet diagnostics?

We are going to release v 0.10.1 of BenchmarkDotNet with cross-platform Memory Diagnoser within this week. If you don't want to wait you can simply add our dev CI feed and use it today:

<add key="appveyor-bdn" value="https://ci.appveyor.com/nuget/benchmarkdotnet" />

@alhardy
Copy link

alhardy commented Nov 29, 2016

@adamsitnik Nice, I'll wait for that ;)

@alhardy
Copy link

alhardy commented Jan 16, 2017

Didnt get back to this since waiting for the benchmarkdot update. Ill give it another go end of this week

alhardy added a commit to alhardy/HdrHistogram.NET that referenced this issue Jan 28, 2017
alhardy added a commit to alhardy/HdrHistogram.NET that referenced this issue Jan 28, 2017
alhardy added a commit to alhardy/HdrHistogram.NET that referenced this issue Jan 28, 2017
@alhardy alhardy mentioned this issue Jan 28, 2017
alhardy added a commit to alhardy/HdrHistogram.NET that referenced this issue Jan 28, 2017
LeeCampbell added a commit to LeeCampbell/HdrHistogram.NET-1 that referenced this issue Feb 9, 2017
…and example projected changed to .net core
LeeCampbell added a commit to LeeCampbell/HdrHistogram.NET-1 that referenced this issue Feb 9, 2017
…and example projected changed to .net core
LeeCampbell added a commit to LeeCampbell/HdrHistogram.NET-1 that referenced this issue Feb 10, 2017
…and example project changed to .net core
LeeCampbell added a commit to LeeCampbell/HdrHistogram.NET-1 that referenced this issue Feb 11, 2017
…and example project changed to .net core
@dtillman
Copy link

dtillman commented May 22, 2017

@LeeCampbell : Hi, could you provide status on this. When will we be able to reference/restore a release that has .NET Core and .NET Framework support.

Thanks

@LeeCampbell
Copy link
Collaborator Author

LeeCampbell commented May 25, 2017

Really sorry about the delay on this one.
Plan is to pave my machine and get Vs2017 and the new .NET Core tools installed.
Hopefully they work nicely. This will be the 4th attempt at doing this. First attempt was back in 2015 :-(

@dtillman
Copy link

dtillman commented May 25, 2017

@LeeCampbell : No problem... is there a nuget feed I can restore from that has builds of this version (i.e. .NET Core and .NET Framework supported) available. Maybe the appveyor project feed?

LeeCampbell added a commit to LeeCampbell/HdrHistogram.NET-1 that referenced this issue May 26, 2017
…and example project changed to .net core
@LeeCampbell
Copy link
Collaborator Author

LeeCampbell commented May 26, 2017

@dtillman Can you check if https://ci.appveyor.com/nuget/hdrhistogram-net-7o4w2wn7lgf9 gives you what you need.
Version HdrHistogram.1.24.0-eekpfsxs-PR52.nupkg is the result of the #52 Pull Request. Currently untested, but it would be great to get your feedback if you have the time/appetite/motivation

@LeeCampbell
Copy link
Collaborator Author

LeeCampbell commented May 26, 2017

Tested locally, but on the same machine that it was developed on. I may release this as pre-release on Nuget.

@dtillman
Copy link

dtillman commented May 27, 2017

@LeeCampbell : Thanks.. I've pulled it in and I'm currently using it/testing and all seems to be working fine on .NET Core 1.1 ... If I run into any issues I'll be sure to report...
Let me know if you publish a pre-release someplace .. and I'll switch over to that...
Thanks again for the support!
Dave

@LeeCampbell
Copy link
Collaborator Author

LeeCampbell commented Jun 3, 2017

A complete re-attempt to solve this with VS2017 on a clean Win10 PC is available from #58 and via nuget on https://ci.appveyor.com/nuget/hdrhistogram-net-7o4w2wn7lgf9 as version 2.24.0-xeywwypu-PR58

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants