fix: fall back to builtin mscoree when dotnet40 has no native

This commit is contained in:
DroidDeck Merge committed 2026-11-01 18:20:40 +08:00
1 parent e97e6b29df
commit 65e2c55e9b
2 files changed
+6 -1

No files matched your search

@@ -649,7 +649,11 @@ def overrides_value(names):
name = name.strip().lower()
if name and re.fullmatch(r"[a-z0-9._-]+", name) and re.fullmatch(r"[nb,]*", mode):
modes.pop(name, None)
modes[name] = mode if "=" in entry else "n,b"
mode = mode if "=" in entry else "n,b"
# dotnet40 has no native mscoree.dll; native-only would hide Wine's loader and fail IL-only apps.
if name == "mscoree" and mode == "n":
mode = "n,b"
modes[name] = mode
return ";".join("%s=%s" % item for item in modes.items())
+1
View File
@@ -261,6 +261,7 @@ class WinComponentsTest(unittest.TestCase):
def test_overrides_value_last_word_wins_and_refuses_junk(self):
self.assertEqual(MODULE["overrides_value"](["a", "b=n", "a=b", "bad;name", "c=x"]), "b=n;a=b")
self.assertEqual(MODULE["overrides_value"](["mscoree=n"]), "mscoree=n,b")
class PendingWaitTest(unittest.TestCase):