这个问题开始于今天(或最近),一个.NET 4.7.2
项目在我的Win10, VS2022 Enterprise
机器上停止运行,抱怨System.Numerics
库的一些缺失或不匹配版本。已启用自动绑定重定向。
当我启动VS安装程序时,什么也没有显示(既没有安装也没有可用)。然而,VS2022仍然运行正常。我越想解决问题,情况就越糟。我已经浪费了几个小时尝试重新安装,在线重新安装,修复,从添加/删除程序卸载,使用installcleanup.exe手动卸载,重命名安装程序文件夹,从GAC中删除所有程序集等。
简而言之,安装程序安装期间出现的错误如下:
无法获取更新安装程序
日志中的错误总是相同的:
VisualStudio Bootstrapper:15/07/2022 14:09:48: Caught Exception: Type = TypeInitializationException,
Message = The type initializer for 'Newtonsoft.Json.Utilities.ConvertUtils' threw an exception.,
StackTrace = at Newtonsoft.Json.Utilities.ConvertUtils.GetTypeCode(Type t, Boolean& isEnum)
at Newtonsoft.Json.Serialization.DefaultContractResolver.IsJsonPrimitiveType(Type t)
at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract(Type objectType)
at Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(Type type)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
at Microsoft.VisualStudio.Setup.Utility.JsonUtility.ParseNameValuePairJson(String jsonContents)
at Microsoft.VisualStudio.Setup.Utility.JsonUtility.ParseNameValuePairJsonFile(IServiceProvider services, String filePath)
at Microsoft.VisualStudio.Setup.Bootstrapper.Program.Parse(String[] args, IServiceProvider serviceProvider, IC2RSignatureReaderInterop c2rSignatureReader, String entryAssemblyProcessName, String entryAssemblyProcessFullName)
InnerException:Type = FileNotFoundException,
Message = Could not load file or assembly 'System.Numerics, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.,
StackTrace = at Newtonsoft.Json.Utilities.ConvertUtils..cctor()
注意:我已经查了很多这个问题,所以请不要建议明显的广泛引用的解决方案,如"添加/删除程序";或"维修按钮"。还有"报告问题"按钮,我可以通过重命名安装程序文件夹启动的安装程序窗口不起作用。通过命令行离线安装也不起作用。
有没有人遇到过这个问题,可以提出一个解决方案,而不是重新安装整个操作系统?它看起来安装程序是无法解析一些temp/boostraper.json
文件,因为这个例外,但我不知道如何解决这个问题。
原来我确实删除了一个GAC
,但这不是GAC(至少不是唯一的)。根据另一个答案和微软论坛,从C:Windowsassembly
中删除每个GAC*
文件夹似乎已经成功了。"另一个";在AppData
文件夹的某处