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

Migrate to a modern .NET version (8.0) #76

Open
energydrink02 opened this issue Aug 5, 2024 · 3 comments
Open

Migrate to a modern .NET version (8.0) #76

energydrink02 opened this issue Aug 5, 2024 · 3 comments
Labels
dependencies Pull requests that update a dependency file enhancement New feature or request

Comments

@energydrink02
Copy link
Contributor

I have created a branch where IndustrialPark and its subprojects have been successfully updated to .NET 8.0. This also includes following additional changes:

  1. Updated Dependencies:
  1. Codebase Improvements:
    • Replaced obsolete functions with their modern equivalents.

Testing:
I have tested the updated branch and ensured that all existing tests pass successfully. However, additional testing would be beneficial to ensure full compatibility.

@ItsPepperpot
Copy link
Collaborator

Thanks for doing this. .NET 8.0 would be a good step towards having a cross-platform IP version. Also, would make running the tests easier since we can use dotnet instead of having to use a patched version of Microsoft's VSTest action (it's been broken for two months but they haven't fixed it :V)

Would also be nice to see that Assimp bug fixed. The latest version is a prerelease so hopefully there's no new bugs in it - that would require some testing.

Possible downsides are:

  • Application would no longer be compatible with Windows 7 SP1+, 8, 8.1 or 10 (before update 1607). However, most people using the application are probably on later versions of Windows 10, or Windows 11 so this shouldn't affect most users.
  • The Windows forms designer doesn't currently work in JetBrains Rider which is what I use. (It works for .NET Framework, but not .NET). They're working on getting it implemented apparently, but it won't be in Rider until after version 2024.2.

@ItsPepperpot
Copy link
Collaborator

There is actually a more recent fork of assimpnet:
https://github.com/StirlingLabs/Assimp.Net
https://www.nuget.org/packages/StirlingLabs.Assimp.Net/

Perhaps we could use that one instead.

@ItsPepperpot ItsPepperpot added enhancement New feature or request dependencies Pull requests that update a dependency file labels Aug 7, 2024
@ItsPepperpot ItsPepperpot pinned this issue Aug 7, 2024
@energydrink02
Copy link
Contributor Author

Yea we should not target Windows 7/8 support and the Windows 10 update 1607 is from 2016 so that should be fine too.

The Assimp.Net package does target a newer version (5.2.5 vs. 5.0.0) but throws an error trying to import/export a model on my end: "The specified module could not be found. (0x8007007E)", even though the module (assimp.dll) does exist in the specified path.

Taking a look at this we should be fine, I think: https://learn.microsoft.com/en-us/dotnet/core/porting/
HeroesPowerPlant already switched to .NET 8 so we can take a look there too.

I would consider switching to .NET 8 after the next IP release anyway so waiting for a rider update is fine too.

@ItsPepperpot ItsPepperpot unpinned this issue Aug 21, 2024
@ItsPepperpot ItsPepperpot pinned this issue Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants