picklesdoc/pickles

Support Pickles for use in .NET Core / .NET 5.0 scenario's

rajbos opened this issue · 8 comments

Premise

I want to include Pickles.CommandLine to run in our CI/CD pipeline so we can generate markdown files and upload them to our wiki.

Issue:

Currently Pickles is targetting .NET 4.5, so using it on a Docker image with only .NET 5.0(or any .NET Core version) installed is not working.

I'd like to help with getting this working :-)

I'd like to help out with this as well, but starting the conversation here seems like the right thing to do first :-).

Plan - Stage 1

As a plan I'd suggest to make a decision if the full framework would still need to be supported and if so, create a new version that targets a newer like 4.6.2, so the library projects can already be moved to .NET standard 2.1. Use that as a release for people who still need the full framework support.

Plan - Stage 2

After having a .NET standard version, an option could be to release a version as a .NET Core global tool, that multitargets .NET core 3.1 and 5.0 (should be enough) with those .NET Standard libraries . That would already solve my use case.

Plan - Stage 3

Move all tools to .NET Core and drop full framework support when possible (saves a lot of hassle)

Hi @rajbos ! Thanks for your interest. I'm in the process of taking over admin duties of the picklesdoc project and this is also something that is of interest to me so I would love to get your help. Dirk has pointed out a few libraries and such that will need to be replaced in order to make the jump to .NET Core/5.0 so we'll need to evaluate that first. If you have time to look at any of those and have some input please feel free to share.

Already started at a fork to move to .NET Core 3.1 here, not there yet.
I'd suggest at least to do 3.1 first and publish it, then move to 5.0

Would you want to publish a 4.6.2 first or just skip that part? Would be nice for people still using the full framework, on the other hand, I don't really see the need for that.

It would be great if this gets done!

Something I've noticed when trying to run pickles (MsBuild variant) on my .Net Core 3.1 projects is that it seems to require Microsoft.Build.Utilities version 3.5 - although this is not listed as a dependency. Please replace this with Microsoft.Build.Utilities.Core and add it to the dependencies - that way it should be possible to run Pickles without requiring .Net Framework 3.5.

I agree with first release 3.1 first and publish it, then move to 5.0. No reason to jump to 5.0 if we have compiling version in 3.1.

@rajbos I'm at the point where I can start working on this now. I tried to look at your fork but it looks like you took it down. If you have any work you want to pass along let me know.

Good one! Saw the repo was moved and cleaned up my fork without realizing this!
Will see what I can do and if this is still helpful.

Luckily I still had it available on disk. I pushed things here: https://github.com/rajbos/pickles/tree/net-core

I started with moving everything in the Runners folder to .NET Standard as a first step. Current state is that the solution cannot be build yet, due to an issue with the TargetFramework, I suspect in the solution folder, but I couldn't figure that out in between work :-).

If this helps, use it, otherwise take a different approach. I suspect I won't have much time to look into it for the rest of the week.

@rajbos not sure if you've looked at a current build but the latest builds support .NET 6/.NET Standard 2.0. I'm closing this issue but let me know if you have any problems with the newest release.