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

Consolidate and remove unsupported .NET targets #6

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

jshergal
Copy link

@jshergal jshergal commented Sep 25, 2024

Updated all projects to current SDK style csproj format. Removed outdated/unsupported framework targets.
Removed older .NET Framework targets which are unsupported in MSTest (net20 and net35).

This PR resolves #5

Updated all projects to current SDK style csproj format.
Removed outdated/unsupported framework targets.
Removed older .NET Framework targets which are unsupported in MSTest (net20 and net35).
@jshergal jshergal changed the title Consolidate and remove unsupported .NET targets - Resolves #5 Consolidate and remove unsupported .NET targets Sep 25, 2024
@ljnath
Copy link
Owner

ljnath commented Sep 26, 2024

We want to support backward compatibility to all available .NET versions, so will skip this PR

net20 target supports .NET Framework 2.0 - 3.5.
netstandard20 supports .NET Framework 4.6.1 (with caveats) - 4.8.1
netstandar21 supports .NET Core 1.0 - NET 5
net6.0 supports .NET 6-7
net8.0 supports .NET 8+
@jshergal
Copy link
Author

@ljnath I have updated the PR to include support to all available .NET versions. I added an NUnit unit test project to test the older .NET Frameworks.

Just as a side note, only NUnit has support for testing the older frameworks and even there it is only .NET Framework 3.5. All other testing frameworks require a minimum target of .NET Framework 4.6.1, so you may want to consider doing a "last release" that has support for .NET Framework 2.0 - 4.5, and sunset those targets.

@jshergal
Copy link
Author

Hi @ljnath, I believe the build will still fail to run even after these changes. I do have an updated yaml file that you can take a look at. It is in the master branch of my fork. I have run and tested it on my side and while the build will still fail with the current master branch, I could create a separate PR for the build script, or you could just copy it and update it. Once that is done, the build should work for this PR.

@jshergal
Copy link
Author

jshergal commented Oct 1, 2024

Hi @ljnath,
Just a quick update here, as I haven't heard anything back from you on any of the comments I left several days ago. Please let me know what you think about this PR and on the idea of you pushing one more release that will support .NET Framework 2.0 and 3.5, before dropping support for those frameworks.

As I pointed out in my other comments, the major Unit Testing libraries (xUnit, NUnit and MSTest) do not support running tests on those frameworks, and so while we could maintain the tag in the code for a build to add the library, it seems like an unnecessary burden to try to continue to support something that only a handful of legacy systems may still need to support.

If we went ahead with a final release that includes support there would still be the code improvement regarding the seeding and such as well as now having moved things internally forward into a more modern tooling approach. With that done, I would be free to go ahead and make the other improvements, etc, which I have in mind.

With that in mind, if I do not hear back, then you are welcome to take this PR or close it, whatever you see fit, but I will go ahead and create a separate NuGet package and take my fork and run with it.

Cheers!

@ljnath
Copy link
Owner

ljnath commented Oct 8, 2024

Hello @jshergal ,

I apologize for the delayed response. While I understand the limitations of the legacy .NET Framework versions (2.0 & 3.5), I still plan to support them for as long as possible. Given that this is a micro library, I'm open to skipping tests for these frameworks in order to maintain support for these older versions.

I’d love to hear your thoughts on this.

@jshergal
Copy link
Author

jshergal commented Oct 8, 2024

Hi @ljnath,
No worries if you want to continue to support .NET Framework 2.0 and 3.5. This PR I have here continues to support those and includes a unit test project that should validate the code at least on .NET Framework 3.5, so feel free to accept it or close it. This PR also includes an updated build YAML that will work with latest GitHub Actions, so if you accept it, it should fix the issue with the builds failing. If you have a question about it, feel free to ask. Hopefully, it is a help to you.

I did make a NuGet package that basically contains the version that is in this PR, you can check it out here and take a look at the list of supported frameworks - basically, it is supporting everything:
https://www.nuget.org/packages/DotNetRandomStringGenerator/#supportedframeworks-body-tab

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

Successfully merging this pull request may close these issues.

Remove outdated and unsupported .NET frameworks and update all projects to SDK format
2 participants