BizHawk
BizHawk copied to clipboard
Multi-target .NET Framework 4.8 and .NET 8
This is a proof-of-concept PR multi-targeting both .NET Framework and .NET 8. .NET 5+ has lots of performance improvements that could immediately benefit us (e.g. #3675). .NET 5+ does not support WinForms under linux, which means that the .NET Framework version can be used under linux and windows, while the .NET 5+ build is windows-only.
This is still very much at POC level as there will most likely be unexpected issues like differing APIs, dialogs being visually broken etc. Also, no script and command is currently aware of the output folder change: output/[everything]
-> output/net4.8/[everything_net4.8]
+output/net8.0-windows/[everything_net8.0]
.
Known issues:
- [ ] On
net8.0-windows
, some waterbox cores (just bsnes?) hardcrash on the first frameadvance. No amount of debug compilation has helped so far, but compiling the waterboxhost with dirty detection disabled fixes this. I'm afraid this may be #3615 all over again.
https://github.com/TASEmulators/BizHawk/blob/c79e17cb3c452ac1d82cf6a8adccb27c8ccaed23/src/BizHawk.Bizware.Graphics.Controls/BizHawk.Bizware.Graphics.Controls.csproj#L3 Should be multi-targeted too.
https://github.com/TASEmulators/BizHawk/blob/11bd5dac572b96c35bbe704635cbba4d83863e90/src/BizHawk.Client.EmuHawk/app.config#L4 Does this need changing at all here?
No, it's been unused since at least https://github.com/TASEmulators/BizHawk/commit/e435fb807b99cfc9327c01cbfe628d0e4eb4ee21.