【问题标题】:What would cause "Value cannot be null, Uristring" in a vsix installation?什么会导致 vsix 安装中的“值不能为空,Uristring”?
【发布时间】:2020-06-30 18:40:59
【问题描述】:

在最新版本的 Visual Studio 16.6.2051 中,无法再安装我的 Visual Studio 包。

我得到了错误

Value cannot be null.
Parameter name: uriString

安装在以前版本的 Visual Studio 中运行(可能在最新版本中)。我确信 Visual Studio 中发生了一些变化。

但是,这并不意味着我的安装没有错误。

这是日志文件的最后一部分(我认为是最有趣的)

30-Jun-20 20:19:33 - BEGIN: Downloading extension: 
30-Jun-20 20:19:33 - END: Downloading extension: 
30-Jun-20 20:19:33 - Value cannot be null.
Parameter name: uriString
30-Jun-20 20:19:33 -    at System.Uri..ctor(String uriString)
   at VSIXInstaller.ExtensionPackService.DownloadExtension(IFileSystem fileSystem, BaseOnlineExtension extensionToDownload, CancellationToken cancellationToken)
   at VSIXInstaller.ExtensionPackService.GetExtensionByVsixId(List`1 vsixIds, String extensionPackParentName, IExtensionEngine extensionEngine, List`1 extensionsToInstall, CancellationToken cancellationToken)
30-Jun-20 20:19:33 - END: Gathering extension pack information
30-Jun-20 20:19:33 - END: Processing extension pack
30-Jun-20 20:19:33 - System.ArgumentNullException: Value cannot be null.
Parameter name: uriString
   at System.Uri..ctor(String uriString)
   at VSIXInstaller.ExtensionPackService.DownloadExtension(IFileSystem fileSystem, BaseOnlineExtension extensionToDownload, CancellationToken cancellationToken)
   at VSIXInstaller.ExtensionPackService.GetExtensionByVsixId(List`1 vsixIds, String extensionPackParentName, IExtensionEngine extensionEngine, List`1 extensionsToInstall, CancellationToken cancellationToken)
   at VSIXInstaller.ExtensionPackService.AcquireExtensionPack(IList`1 extensionsPath, IStateData stateData, Boolean isRepairSupported)
   at VSIXInstaller.ExtensionPackService.ExpandExtensionPackToInstall(IStateData stateData, Boolean isRepairSupported)
   at VSIXInstaller.App.Initialize(Boolean isRepairSupported)
   at VSIXInstaller.App.Initialize()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)

我已在error report to Microsoft 中包含完整的日志

有谁知道错误可能指的是什么 uriString 以及我可以如何解决它?

【问题讨论】:

    标签: vsix vsixmanifest visual-studio-package


    【解决方案1】:

    原来我的项目包含一个不必要的文件Extensions.vsext,内容如下:

    {
      "description": "Read about creating extension packs at https://aka.ms/vsextpack",
      "version": "1.0.0.0",
      "extensions": [
        {
          "vsixId": "41858b2d-ff0b-4a43-80b0-f1b2d6084935",
          "name": "AlignAssignments"
        },
        {
          "vsixId": "42374550-426a-400e-96f9-237682e8dea6",
          "name": "CopyAsHtml"
        }
      ]
    }
    

    在我创建原始包时必须从项目模板中创建。

    很可能是我在创建项目时选择了错误的项目类型。该文件仅用于创建所谓的扩展包。

    我已经从项目中删除了这个文件,它已经解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-29
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 2019-10-26
      • 1970-01-01
      • 2015-11-25
      相关资源
      最近更新 更多