簡體   English   中英

在 vsix 安裝中,什么會導致“Value cannot be null, Uristring”?

[英]What would cause “Value cannot be null, Uristring” in a vsix installation?

在最新版本的 Visual Studio 16.6.2051 中,無法再安裝我的 Visual Studio package。

我得到錯誤

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)

我已在給 Microsoft 的錯誤報告中包含完整的日志

有誰知道錯誤可能指的是什么 uriString 以及我如何解決它?

事實證明,我的項目包含一個不必要的文件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"
    }
  ]
}

當我創建原始 package 時,它必須是從項目模板中創建的。

很可能,我在創建項目時選擇了錯誤的項目類型。 這個文件只需要創建一個所謂的擴展包。

我已經從項目中刪除了這個文件,它已經解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM