ical.net
ical.net copied to clipboard
Add netstandard2.0 Target?
A netstandard2.0 target would be helpful when using Ical.Net in newer projects. The existing netstandard1.3 target allows referencing from .NET Core versions >= 3.0 as well, but adds additional, potentially unwanted dependencies.
@rianjs I'd consider working on the PRs and am asking, whether the work would be appreciated and (given the quality is ok) merged any time soon.
I saw that PRs for retargeting exist already but the changes are quite severe and partly breaking. I feel that it would be easier to merge a PR that introduces less changes and focusses more on backwards-compatibility.
This would be the approach:
- Upgrade to the latest 2.x version of NodaTime (currently 2.4.13). Upgrading to 3.x would introduce too many changes for now and might be done in a separate project in the future. Updating to 2.x could be done in a PR separate from the one introducing the new target.
- Introduce additional target
netstandard2.0, while keeping today's targetsnetstandard1.3andnet46. This will maintain backwards-compatibility. - Clone the test project
Ical.Net.CoreUnitTests(create a copy of the csproj file within the same directory). Reference the same tests but let one of the projects targetnetcoreapp3.1, while the other one keeps targetingnetcoreapp2.0. Cloning the project instead of adding a new target to the existing test project seems to be beneficial when running the tests from within Visual Studio, because VS would only run the tests from a single target, not from all of the test project's targets. - Update
Ical.Net.nuspecto also include thenetstandard2.0files - Change version no. to 4.2.0 (would this be done inside or outside of the PR?)
I recognize the discussion in #495. I agree, that the status quo of this project has a maturity level that is ready for productive use in many projects even without major further development. However, keeping the project up to date with newer versions of .NET seems to be a minimum requirement in order to stay useful.
@rianjs Any thoughts? Feedback would be appreciated, so we know, whether it's worth the effort..