GOG版Spacechem在Win11启动崩溃:缺失System.Runtime.Serialization 3.0.0.0
错误信息
Exception:
System.IO.FileNotFoundException: Filen eller assemblyen 'System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' eller en af dens afhængigheder kunne ikke indlæses. Den angivne fil blev ikke fundet.
Filnavn: 'System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
ved #=q$8$$I4Mf1JKnj3g$y4uj4Q==.#=qFWLRlWJfKM1XFnOxiHt81g==()
ved #=q$Ms6qF3PBgUNpBt146_KhkgwHdbILL7qmYawLOhB6Bw=.#=qXWdxPFaWEbTGnRcnAngCAA==(#=q$8$$I4Mf1JKnj3g$y4uj4Q== #=q9Id63pJjjZGZOhn1pfeoNQ==)
问题定位
报错指向的System.Runtime.Serialization 3.0.0.0属于.NET Framework 3.5(包含.NET 2.0/3.0)组件。游戏此前正常运行,现在崩溃大概率是Windows更新后该旧版组件被移除或损坏,并非游戏构建问题——GOG版游戏发布时依赖环境是兼容的,后续系统更新才会破坏依赖链。
修复方案(按优先级排序)
1. 启用系统自带的.NET Framework 3.5(推荐)
这是最稳定的解决方式,直接通过Windows功能开启:
- 打开
控制面板→程序→启用或关闭Windows功能 - 勾选
.NET Framework 3.5(包括.NET 2.0和3.0),点击确定后等待系统完成安装(可能需要联网下载文件) - 重启电脑后重新启动游戏
2. 手动复制组件到游戏目录(针对系统启用无效的情况)
利用已安装的Visual Studio 2022获取组件:
- 打开VS 2022的安装目录(默认路径:
C:\Program Files\Microsoft Visual Studio\2022\Community\),搜索System.Runtime.Serialization.dll - 筛选出版本为
3.0.0.0、公钥令牌为b77a5c561934e089的文件 - 将该文件复制到《Spacechem》的游戏安装根目录(例如
C:\GOG Games\SpaceChem\)
3. 通过NuGet提取组件
如果上述方法无法找到对应文件,可通过NuGet获取:
- 打开VS 2022,创建一个临时的.NET Framework 3.0项目
- 右键项目 →
管理NuGet程序包,搜索System.Runtime.Serialization - 安装版本为
3.0.0.0的包 - 从项目的
packages目录中找到System.Runtime.Serialization.dll,复制到游戏目录
总结
优先尝试启用系统自带的.NET Framework 3.5,这能从根源解决旧版组件依赖问题;若无效再考虑手动复制组件。游戏本身的构建缺陷可能性极低,核心矛盾是Windows 11更新后旧版.NET组件缺失。
内容的提问来源于stack exchange,提问作者Thorbjørn Ravn Andersen

