【发布时间】:2017-05-25 18:40:23
【问题描述】:
在我的 Visual Studio 2017 安装出现问题后,Microsoft 建议我运行 InstallCleanup.exe -full 此命令从我的计算机中删除了 Visual Studio 2017 和 Visual Studio 安装程序,但在此过程中破坏了一些东西。
现在,当我尝试安装 Visual Studio 2017 时,每当我选择要安装的 Visual Studio 版本时,Visual Studio 2017 安装程序都会引发 TypeInitializationException。
日志文件显示以下堆栈跟踪:
2017-05-25T17:19:18 : Verbose : Getting product. [installerId: SetupEngine, productId: Microsoft.VisualStudio.Product.Community].
2017-05-25T17:19:21 : Error : Failed to get product. [installerId: SetupEngine, productId: Microsoft.VisualStudio.Product.Community, error: TypeInitializationException at The type initializer for 'Microsoft.VisualStudio.Setup.Utility.StringUtility' threw an exception.
at Microsoft.VisualStudio.Setup.Utility.StringUtility.ReplaceSpecialFolders(String value)
at Microsoft.VisualStudio.Setup.Utility.StringUtility.ReplaceVariables(String value, IEnumerable`1 parameters)
at Microsoft.VisualStudio.Setup.ProductInstaller.GetSerializableProduct()
at Microsoft.VisualStudio.Setup.ProductsProviderService.GetProduct(String channelId, String productId)]
很遗憾,我无法更正此问题。我已经重新下载了安装程序。卸载并删除与 VS2017 相关的任何内容,重新启动,清理临时文件夹。似乎没有任何影响。
我已向 Microsoft 寻求指导 here,但两个类似的错误报告 here 和 here 仍未得到答复,因此我希望渺茫。
我会查看似乎导致问题的StringUtility 类的源代码。但我不相信那是开源的。 (我在参考源上找不到类似的课程)。我也会尝试通过附加调试器来调试正在运行的应用程序,但可惜我没有 Visual Studio,无法安装新的 :)。
有没有人知道如何尝试找出导致此异常的原因?或者我可以检查哪些依赖项?
编辑:使用 Collect.exe 收集更多信息后,我发现了 InnerException:
05/25/2017 17:55:17 : Error : System.TypeInitializationException: The type initializer for 'Microsoft.VisualStudio.Setup.Utility.StringUtility' threw an exception. ---> System.ArgumentException: Absolute path information is required.
at System.Security.Util.StringExpressionSet.CreateListFromExpressions(String[] str, Boolean needFullPath)
at System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
at System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String path)
at System.Environment.InternalGetFolderPath(SpecialFolder folder, SpecialFolderOption option, Boolean suppressSecurityChecks)
at Microsoft.VisualStudio.Setup.Utility.StringUtility..cctor()
--- End of inner exception stack trace ---
at Microsoft.VisualStudio.Setup.Utility.StringUtility.ReplaceSpecialFolders(String value)
at Microsoft.VisualStudio.Setup.Utility.StringUtility.ReplaceVariables(String value, IEnumerable`1 parameters)
at Microsoft.VisualStudio.Setup.ProductInstaller.GetSerializableProduct()
at Microsoft.VisualStudio.Setup.ProductsProviderService.GetProduct(String channelId, String productId)Failed to get a catalog
看起来有些 sheneningans 的路径无效?但是我将如何找出路径:)?
【问题讨论】:
标签: visual-studio installation visual-studio-2017