.NET 10 - Blocked by Linux Support#748
.NET 10 - Blocked by Linux Support#748dreamsyntax wants to merge 1 commit intoReloaded-Project:masterfrom
Conversation
|
Just search 9.0 in all files. Maybe there's an override somewhere, like in build script. |
"Hmph too easy" Oops, didn't check the ps1 scripts. |
|
Holding off on this until .NET 10 is better supported in wine. |
|
Linux exclusive error thrown on clicking the + button / "Add an application" |
5dd9175 to
f36db8a
Compare
|
Going to look into this cast, since Ookii dialogs library is deprecated and unlikely to fix this themselves. |
There was a problem hiding this comment.
You cannot use the Open dialog instead of Save. At least not for adding games. You'll break Xbox Store games on Windows.
[This is why the Save dialog is used here, actually]
You don't have filesystem access to the files (not even Explorer does), and open dialog will error on selection while selecting an encrypted Xbox Store exe.
While Reloaded is capable of stripping it, if you can't select the game in the first place via the dialog, we're no ball.
I'd rather wait until it's fixed upstream in Wine/Proton instead. This subtly different behaviour could pop up elsewhere.
|
Option two is removing Ookii dialogs completely I guess, and using the new native net 8.0+ versions instead.
Microsoft, WTF. lol |
|
I'd be more concerned about subtle bugs elsewhere, which we don't quite know about yet. After all, a runtime upgrade broke this, not Proton. So something runtime related was/is amiss. |
5bece84 to
e8954c7
Compare
|
Created wine bug report |
e4f26fd to
024a217
Compare
|
Rebased. Will be using this build extensively on Windows. |
024a217 to
3d63d88
Compare
3d63d88 to
2f45e49
Compare
📝 WalkthroughWalkthroughThis pull request upgrades the entire codebase from .NET 9.0 to .NET 10.0. Changes include updating GitHub Actions workflows to install .NET 10.0 SDK, updating target frameworks across all project files, and bumping dependent package versions to compatible releases. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@source/Reloaded.Mod.Loader/Reloaded.Mod.Loader.csproj`:
- Around line 98-99: The project currently references McMaster.NETCore.Plugins
Version="2.0.0" which targets net8.0 while the project targets .NET 10; update
the PackageReference for McMaster.NETCore.Plugins to a version that explicitly
supports net10.0 (or remove/replace it) or add a comment and runtime
verification step to ensure compatibility, and keep Microsoft.NET.ILLink.Tasks
Version="10.0.0" as-is since it supports net10.0; locate the PackageReference
entries for "McMaster.NETCore.Plugins" and "Microsoft.NET.ILLink.Tasks" in
Reloaded.Mod.Loader.csproj and either bump McMaster.NETCore.Plugins to a
net10-compatible release or add a project-level compatibility test (or runtime
check) to validate the package works under .NET 10.
🧹 Nitpick comments (2)
source/Reloaded.Mod.Loader/Reloaded.Mod.Loader.csproj (2)
16-21: Pre-existing: duplicateCETCompatelement.Lines 16 and 21 both set
<CETCompat>false</CETCompat>. This is harmless (last wins) but worth cleaning up while you're in this file.🧹 Remove duplicate
<Platforms>x86;x64</Platforms> <GenerateDepsJson>false</GenerateDepsJson> <DebugType>portable</DebugType> <!-- For backcompat with out of support versions of Windows --> <CETCompat>false</CETCompat> - - <!-- IL Trimming Support forked from https://github.com/space-wizards/RobustToolbox, under the MIT License --> + <!-- IL Trimming Support forked from https://github.com/space-wizards/RobustToolbox, under the MIT License -->Wait — both comments are relevant. Just remove the first
<CETCompat>on line 16 and keep the one on line 21 that has the explanatory comment:- <CETCompat>false</CETCompat> <Platforms>x86;x64</Platforms>
5-7: Inconsistent indentation: mixed tabs and spaces.Lines 5 and 7 use tabs while the rest of the file uses spaces. Consider normalizing for consistency.
| <PackageReference Include="McMaster.NETCore.Plugins" Version="2.0.0" /> | ||
| <PackageReference Include="Microsoft.NET.ILLink.Tasks" Version="9.0.11" /> | ||
| <PackageReference Include="Microsoft.NET.ILLink.Tasks" Version="10.0.0" /> |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check if these package versions exist on NuGet and get detailed info
echo "=== ILLink.Tasks versions ==="
curl -s "https://api.nuget.org/v3-flatcontainer/microsoft.net.illink.tasks/index.json" | jq '.versions | sort | .[-10:]'
echo -e "\n=== McMaster.NETCore.Plugins versions ==="
curl -s "https://api.nuget.org/v3-flatcontainer/mcmaster.netcore.plugins/index.json" | jq '.versions | sort | .[-10:]'
echo -e "\n=== ILLink.Tasks 10.0.0 metadata ==="
curl -s "https://api.nuget.org/v3-flatcontainer/microsoft.net.illink.tasks/10.0.0/microsoft.net.illink.tasks.nuspec" | grep -o '<dependency id="[^"]*" version="[^"]*"' | head -20
echo -e "\n=== McMaster.NETCore.Plugins 2.0.0 metadata ==="
curl -s "https://api.nuget.org/v3-flatcontainer/mcmaster.netcore.plugins/2.0.0/mcmaster.netcore.plugins.nuspec" | grep -o '<dependency id="[^"]*" version="[^"]*"' | head -20Repository: Reloaded-Project/Reloaded-II
Length of output: 502
🏁 Script executed:
#!/bin/bash
# Check the actual project file to see what versions are specified
echo "=== Current project file content (lines 90-110) ==="
sed -n '90,110p' source/Reloaded.Mod.Loader/Reloaded.Mod.Loader.csproj
echo -e "\n=== Target framework ==="
grep -i "TargetFramework" source/Reloaded.Mod.Loader/Reloaded.Mod.Loader.csproj | head -5
# Search for ILLink.Tasks on NuGet for .NET 10 specifically
echo -e "\n=== Latest ILLink.Tasks versions (all) ==="
curl -s "https://api.nuget.org/v3-flatcontainer/microsoft.net.illink.tasks/index.json" | jq '.versions | reverse' | head -20Repository: Reloaded-Project/Reloaded-II
Length of output: 1676
🏁 Script executed:
#!/bin/bash
# Get detailed package metadata for compatibility verification
echo "=== ILLink.Tasks 10.0.0 package info ==="
curl -s "https://api.nuget.org/v3-flatcontainer/microsoft.net.illink.tasks/10.0.0/microsoft.net.illink.tasks.nuspec" | grep -E "(<dependency|<group|framework)" | head -15
echo -e "\n=== McMaster.NETCore.Plugins 2.0.0 package info ==="
curl -s "https://api.nuget.org/v3-flatcontainer/mcmaster.netcore.plugins/2.0.0/mcmaster.netcore.plugins.nuspec" | grep -E "(<dependency|<group|framework)" | head -15
echo -e "\n=== Check for newer compatible versions ==="
echo "ILLink.Tasks available: 10.0.0, 10.0.1, 10.0.2, 10.0.3"
echo "McMaster.NETCore.Plugins: checking GitHub for .NET 10 support..."
curl -s "https://raw.githubusercontent.com/natemcmaster/DotNetCorePlugins/main/README.md" | grep -i "net10\|\.net 10\|framework" | head -10Repository: Reloaded-Project/Reloaded-II
Length of output: 580
ILLink.Tasks 10.0.0 is confirmed compatible—it explicitly supports net10.0. However, McMaster.NETCore.Plugins 2.0.0 targets only net8.0 according to its package metadata. While .NET 8 packages typically work in .NET 10 projects due to TFM forward compatibility, this should be verified at runtime or consider whether a newer version with explicit .NET 10 support exists.
🤖 Prompt for AI Agents
In `@source/Reloaded.Mod.Loader/Reloaded.Mod.Loader.csproj` around lines 98 - 99,
The project currently references McMaster.NETCore.Plugins Version="2.0.0" which
targets net8.0 while the project targets .NET 10; update the PackageReference
for McMaster.NETCore.Plugins to a version that explicitly supports net10.0 (or
remove/replace it) or add a comment and runtime verification step to ensure
compatibility, and keep Microsoft.NET.ILLink.Tasks Version="10.0.0" as-is since
it supports net10.0; locate the PackageReference entries for
"McMaster.NETCore.Plugins" and "Microsoft.NET.ILLink.Tasks" in
Reloaded.Mod.Loader.csproj and either bump McMaster.NETCore.Plugins to a
net10-compatible release or add a project-level compatibility test (or runtime
check) to validate the package works under .NET 10.

* Upgrade CI to latest actions, bump node 14 to node 20 to match other R-II mod repo| Moved to other PR--
Windows tested ✔️

Linux - ❌ - unable to add new games - breaks on attempting to invoke the FileDialog
Summary by CodeRabbit