-
Notifications
You must be signed in to change notification settings - Fork 10
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
Added net core support #75
Conversation
b55b544
to
578cb89
Compare
Please, can someone review pull request? |
@oldmine a build fails for a cloned repo. I suppose you should add .WithRestore() for _MSBuildSettings _ in _build.cake _. Also I asked about net20 previously. I suppose nuget packages will contain net3.5 version only. Is it expected result? |
@NikolayPianikov Thanks for answer. Build was fail on your local machine or CI? Tests and checks passed successful. About targeting netstandard: Example that extension that build for netstandrad was work with NUnit.ConsoleRunner 3.10 on netframework Example that extension that build for netstandrad was work with NUnit.ConsoleRunner 3.12-beta1 on netcore3.1 |
Yes, I cloned the repo from your fork and started the build from scratch. Build doesn't work locally. Is it worth packing 2 versions of an extension into the nuget package in different directories? like:
|
@NikolayPianikov Putting versions in directories like that seems right to me. It's true that the current console runner is in two versions and each one could use a different package, but I'm pretty sure that's not the way it will always be for nunit-console. And other runners are free to work differently - running under one platform but supporting other platforms for execution out of process. That's how my own runner works. So using a runner like that, you would probably prefer to install a single package that included all supported targets. |
Multiple platforms in a single NuGet package was the original design intention. 😄 I think an additional See this post for more of an explanation on the structure the engine is expecting --> nunit/nunit-console#806 (comment) |
I've created a nuget package containing:
.addins is a file:
and found several issues:
when tools/net20 contains nunit.engine.api.dll with version 3.11.1 from the nuget package
|
@ChrisMaddock could you suggest what I am doing wrong |
Hi @NikolayPianikov, Your package structure looks as I'd expect.
Lastly, point one is interesting. I think the behaviour here isn't exactly what we intended, but roughly correct. I suspect you're running the Console on .NET 4.6.2 or later? The intended behaviour is that the engine discovers all valid extensions, and works out from those which ones have target frameworks it is able to load. The engine should then pick the extension for the "highest possible target framework" - so in this case, .NET Standard 2.0 over .NET 2.0. If your extension was to target .NET Core instead of .NET Standard, then the .NET Framework Console would ignore it and select the net20 version instead. I think there's actually a bug in the code that the engine is only working out which extension is "best" by comparing the two version numbers (e.g. 2.0 vs 2.0) - but the end result is as intended. I presume it also doesn't matter which version is selected for the TC extension - are the two versions functionally identical? |
@NikolayPianikov Hi! When will the new package be available? |
@ChrisMaddock yes versions are identical. I confirm that NUnit.ConsoleRunner.3.12.0-dev-04961 on myget works fine. |
@ChrisMaddock when you are planning to release In NUnit Console Runner 3.12? |
@k15tfu I suppose few days |
Thanks @NikolayPianikov. Console 3.12 will probably be in the new year now, my time up until the end of the year will be limited now. Would recommend using the MyGet build of the console, for anyone who wants to start using this straight away. 🙂 |
I've published the TeamCity extension 1.0.8 containing netstandard2.0. |
In NUnit Console Runner 3.12 added net core support, but old extensions is not compatible, because they build for net framework.
Extension was updated to work with new version of console runner on net core.
Changes: