Skip to content

Migration for newer .NET support #3

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

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

Conversation

peevees
Copy link

@peevees peevees commented Mar 24, 2024

Since .NET seemingly doesn't support GSM7/GSM 03.38/3GPP TS 23.038 text encoding built-in this seems like a useful library to make usable for newer versions of .NET. 🎉

To make the library able to be used in newer .NET version it would need to be upgraded.
So here is an upgrade of the library to .NET Framework 4.8. Major version of library was bumped to indicate this.

All non-ignored tests pass. No code changes have been made to the library. For test projects changes have only been made to support the newer version of NUnit.

To also support non-framework .NET versions, I migrated the library to new projects (MediaBurst.TextCore) side-by-side to the old, which are based on .NET Standard 2.0.
This will make it support these versions:

.NET implementation Version support
.NET Framework 4.6.1 2, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET and .NET Core 2.0, 2.1, 2.2, 3.0, 3.1, 5.0, 6.0, 7.0, 8.0

Hopefully we can see these upgrades to the library on NuGet soon. 🤩

Some other notes about changes

To make it easier to manage this "side-by-side projects", the solution was restructured.
/src/<projects-folder>
/Tests/<test-projects-folders>

For easier contribution standardization a .editorconfig was created along with .globalconfig for analyzers.

peevees added 5 commits March 24, 2024 02:04
structure makes it easier for the future to add more
Keeping the old projects to the what seems to be the last major version of .Net Framework
Make project buildable again using newer nunit
Moves ignore comment into the ignore attribute parameter
Migrate Assert.Equals to Assert.That due to nunit upgrades
Add testadapter to be able to run tests in visual studio
Update nuspecfile with repo url
Enable codeAnalysisRuleSet
Bumping one major version due to major .Net framework update
Add new project for GSMEncoding based on .Net Standard 2.0 to support as many .Net versions as possible
Add new test project for migrated GSMEncoding project
Add .editorconfig
Add .globalconfig
Update .gitignore to ignore testresults from new test project

Add solution items to solution for easier management inside of visual studio
@NiKiZe
Copy link

NiKiZe commented Mar 3, 2025

Considered to convert to sdkstyle projects with multi target instead, should essentially only have to modify the existing csproj file and not have multiple projects? (Nunit upgrades needed of course)

@peevees
Copy link
Author

peevees commented Mar 3, 2025

You are indeed correct but i created new projects based on .Net Standard 2.0 to support as many .Net versions as possible, while keeping the old ones around for specific .Net Framework support. Didn't want to remove them entirely unless mediaburts is ok with that 😅

@NiKiZe
Copy link

NiKiZe commented Mar 3, 2025

<TargetFrameworks>net40;netstandard2.0</TargetFrameworks> does support netframework, nothing removed just modification of the existing csproj file.

@NiKiZe NiKiZe mentioned this pull request Mar 3, 2025
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.

2 participants