Comments (11)
I don't think OpenMod will target .NET Framework anymore. net461 is no longer used and can be safely removed. Unturned plugins should now target either netstandard2.1 (recommended) or net48, though older versions will continue to work. DiFFoZ might correct me on that.
I agree that Microsoft.Extensions.* should be upgraded to v8. Looking at the breaking changes, I don't see any that are relevant to OpenMod. We will still need to test that with some plugins just in case. Other packages better not to touch.
from openmod.
Dropping .NET Framework and .NET Standard 2.0 seems like a good idea to me
from openmod.
There are some small changes for upgrading to microsoft.extensions.* 7 but not many breaking changes. (One of them maybe plugins recompilation)
Also it supports net462
from openmod.
Looking forward to hear more feedback from other contributors. If you're ok with that I make another branch which implements new feature, only Microsoft.* dependencies to 7/8 and tested with uScript, AviRockets (no hopes since its has no support by owner), RocketMod, and some plugins
from openmod.
Due to Microsoft.EntityFrameworkCore v 7/8 is required to use with .NET 6.0 (as a target framework), so, netstandard cannot be in this case
from openmod.
In this case the best we can do is use .netstandard2.1 (and allow to use net48 for plugins by it needs):
New NuGet packages (not a v 7/8 because those versions are for .NET Core 6.0, etc and they're not compatible with .net48 and .netstandard2.0/2.1):
Microsoft.EntityFrameworkCore
v3.1.32 -> Microsoft.EntityFrameworkCore
v5.0.17
Microsoft.Extensions*
v3.1.32 -> Microsoft.Extensions.*
v5.0.2
Pomelo.EntityFrameworkCore.MySql
v3.2.7 -> Pomelo.EntityFrameworkCore.MySql
v5.0.4
Since we will bump to 5.* major versions it will probably make less issues during testing and compatibility with other plugins
Breaking changes:
Pomelo.EntityFrameworkCore.MySql
v5.0.4: on add db context UseMySql
instead of direct connection string
the server version
is should be used
-- Correct me if you see any other breaking changes.
from openmod.
Microsoft.EntityFrameworkCore should not be a priority to update, but need to be in consideration just in case of breaking
from openmod.
Microsoft.EntityFrameworkCore is need to be updated because this package has dependency to some of the Microsoft.Extensions.* packages
from openmod.
Question is, are we gonna drop support for netstandard2.0 and .NET Framework (all versions)? If not, then it won't be possible to update Microsoft.EntityFrameworkCore to v5 since it only targets netstandard2.1. I don't think it should be a problem to only update Microsoft.Extensions.*. It is possible to override dependencies that EF Core needs be referencing higher versions of packages.
from openmod.
I'll test it with old Microsoft.EntityFrameworkCore and new Microsoft.Extensions if it goes well then no need to bump newer Microsoft.EntityFrameworkCore
I don't wish to use binding redirects for that, and also it will probably cause issues with API restrictions, and unexpected problems by other devs while using this API, would be great to use it for both packages v5.*
Depends on how you guys want, if you want we can remove support for netstandard2.0 and .NET Framework (all versions), and keep only .netstandard2.1, very interesting what consequences it would lead us for
from openmod.
OpenMod now only uses .NET Standard 2.1
from openmod.
Related Issues (20)
- Set Unturned projects `Prefer32Bit` to false HOT 4
- Vehicle State in UnturnedVehicle not correct. HOT 1
- Nuget download error by ImperialPlugins from some Plugins HOT 1
- `NuGetPackageManager` installs wrong versions of dependencies HOT 2
- `packages.yaml` ignore package id in specific package
- Server crash after NuGet packages installation from `packages.yaml` HOT 1
- Ignore config.yaml and translations.yaml when plugin asks it
- UnturnedItemSpawner throwing exception HOT 1
- Duplicated event emit HOT 1
- `openmod reload` break NuGet assembly resolver HOT 1
- The server shutdown command was randomly and automatically executed HOT 2
- Problems System.Drawing HOT 2
- JobScheduler running same job multiple times
- Change yaml client
- Openmod Entity Framework could Could not set up parent class HOT 5
- MySQL Unity TLS error HOT 6
- New version issues HOT 7
- "UnturnedZombieDyingEvent" sometimes does not trigger as expected. HOT 5
- "Failed to patch original method null from patching type OpenMod.Unturned.Vehicles.Events.VehiclePatches" HOT 1
- Unable to resolve global services HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openmod.