什么会导致 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 软件包。
我收到错误
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 吗?我该如何解决它?
原来我的项目包含一个不需要的文件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"
}
]
}
这肯定是我创建原始包时根据项目模板创建的。
很可能是我在创建项目时选择了错误的项目类型。这个文件只需要创建一个所谓的扩展包。
我已经从项目中删除了这个文件,它已经解决了问题。
在最新版本 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 吗?我该如何解决它?
原来我的项目包含一个不需要的文件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"
}
]
}
这肯定是我创建原始包时根据项目模板创建的。
很可能是我在创建项目时选择了错误的项目类型。这个文件只需要创建一个所谓的扩展包。
我已经从项目中删除了这个文件,它已经解决了问题。