博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
visual studio 容器工具首次加载太慢 vsdbg\vs2017u5 exists, deleting 的解决方案
阅读量:5161 次
发布时间:2019-06-13

本文共 7859 字,大约阅读时间需要 26 分钟。

========== 正在准备容器 ==========正在准备 Docker 容器...C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -NoProfile -WindowStyle Hidden -ExecutionPolicy RemoteSigned -File "C:\Users\MESTC\AppData\Local\Temp\GetVsDbg.ps1" -Version vs2017u5 -RuntimeID linux-x64 -InstallPath "C:\Users\MESTC\vsdbg\vs2017u5"Info: Using vsdbg version '16.0.20412.1'Info: Using Runtime ID 'linux-x64'Info: C:\Users\MESTC\vsdbg\vs2017u5 exists, deleting.

如上情况

感兴趣可以打开  GetVsDbg.ps1

# Copyright (c) Microsoft. All rights reserved.<#.SYNOPSISDownloads the given $Version of vsdbg for the given $RuntimeID and installs it to the given $InstallPath.DESCRIPTIONThe following script will download vsdbg and install vsdbg, the .NET Core Debugger.PARAMETER VersionSpecifies the version of vsdbg to install. Can be 'latest', 'vs2019', 'vs2017u5', 'vs2017u1', or a specific version string i.e. 15.0.25930.0.PARAMETER RuntimeIDSpecifies the .NET Runtime ID of the vsdbg that will be downloaded. Example: linux-x64. Defaults to win7-x64..Parameter InstallPathSpecifies the path where vsdbg will be installed. Defaults to the directory containing this script..INPUTSNone. You cannot pipe inputs to GetVsDbg..EXAMPLEC:\PS> .\GetVsDbg.ps1 -Version latest -RuntimeID linux-x64 -InstallPath .\vsdbg.LINKFor more information about using this script with Visual Studio Code see: https://github.com/OmniSharp/omnisharp-vscode/wiki/Attaching-to-remote-processesFor more information about using this script with Visual Studio see: https://github.com/Microsoft/MIEngine/wiki/Offroad-Debugging-of-.NET-Core-on-Linux---OSX-from-Visual-StudioTo report issues, see: https://github.com/omnisharp/omnisharp-vscode/issues#>Param (    [Parameter(Mandatory=$true, ParameterSetName="ByName")]    [string]    [ValidateSet("latest", "vs2019", "vs2017u1", "vs2017u5")]    $Version,    [Parameter(Mandatory=$true, ParameterSetName="ByNumber")]    [string]    [ValidatePattern("\d+\.\d+\.\d+.*")]    $VersionNumber,    [Parameter(Mandatory=$false)]    [string]    $RuntimeID,    [Parameter(Mandatory=$false)]    [string]    $InstallPath = (Split-Path -Path $MyInvocation.MyCommand.Definition))$ErrorActionPreference="Stop"# In a separate method to prevent locking zip files.function DownloadAndExtract([string]$url, [string]$targetLocation) {    Add-Type -assembly "System.IO.Compression.FileSystem"    Add-Type -assembly "System.IO.Compression"    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12    Try {        $zipStream = (New-Object System.Net.WebClient).OpenRead($url)    }    Catch {        Write-Host "Info: Opening stream failed, trying again with proxy settings."        $proxy = [System.Net.WebRequest]::GetSystemWebProxy()        $proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials        $webClient = New-Object System.Net.WebClient        $webClient.UseDefaultCredentials = $false        $webClient.proxy = $proxy        $zipStream = $webClient.OpenRead($url)    }        $zipArchive = New-Object System.IO.Compression.ZipArchive -ArgumentList $zipStream    [System.IO.Compression.ZipFileExtensions]::ExtractToDirectory($zipArchive, $targetLocation)    $zipArchive.Dispose()    $zipStream.Dispose()}# Checks if the existing version is the latest version.function IsLatest([string]$installationPath, [string]$runtimeId, [string]$version) {    $SuccessRidFile = Join-Path -Path $installationPath -ChildPath "success_rid.txt"    if (Test-Path $SuccessRidFile) {        $LastRid = Get-Content -Path $SuccessRidFile        if ($LastRid -ne $runtimeId) {            return $false        }    } else {        return $false    }    $SuccessVersionFile = Join-Path -Path $installationPath -ChildPath "success_version.txt"    if (Test-Path $SuccessVersionFile) {        $LastVersion = Get-Content -Path $SuccessVersionFile        if ($LastVersion -ne $version) {            return $false        }    } else {        return $false    }    return $true}function WriteSuccessInfo([string]$installationPath, [string]$runtimeId, [string]$version) {    $SuccessRidFile = Join-Path -Path $installationPath -ChildPath "success_rid.txt"    $runtimeId | Out-File -Encoding utf8 $SuccessRidFile    $SuccessVersionFile = Join-Path -Path $installationPath -ChildPath "success_version.txt"    $version | Out-File -Encoding utf8 $SuccessVersionFile}$ExplitVersionNumberUsed = $falseif ($Version -eq "latest") {    $VersionNumber = "16.0.20412.1"} elseif ($Version -eq "vs2019") {    $VersionNumber = "16.0.20412.1"} elseif ($Version -eq "vs2017u5") {    $VersionNumber = "16.0.20412.1"} elseif ($Version -eq "vs2017u1") {    $VersionNumber = "15.1.10630.1"} else {    $ExplitVersionNumberUsed = $true}Write-Host "Info: Using vsdbg version '$VersionNumber'"if (-not $RuntimeID) {    $RuntimeID = "win7-x64"} elseif (-not $ExplitVersionNumberUsed) {    $legacyLinuxRuntimeIds = @{         "debian.8-x64" = "";        "rhel.7.2-x64" = "";        "centos.7-x64" = "";        "fedora.23-x64" = "";        "opensuse.13.2-x64" = "";        "ubuntu.14.04-x64" = "";        "ubuntu.16.04-x64" = "";        "ubuntu.16.10-x64" = "";        "fedora.24-x64" = "";        "opensuse.42.1-x64" = "";    }    # Remap the old distro-specific runtime ids unless the caller specified an exact build number.    # We don't do this in the exact build number case so that old builds can be used.    if ($legacyLinuxRuntimeIds.ContainsKey($RuntimeID.ToLowerInvariant())) {        $RuntimeID = "linux-x64"    }}Write-Host "Info: Using Runtime ID '$RuntimeID'"# if we were given a relative path, assume its relative to the script directory and create an absolute pathif (-not([System.IO.Path]::IsPathRooted($InstallPath))) {    $InstallPath = Join-Path -Path (Split-Path -Path $MyInvocation.MyCommand.Definition) -ChildPath $InstallPath}if (IsLatest $InstallPath $RuntimeID $VersionNumber) {    Write-Host "Info: Latest version of VsDbg is present. Skipping downloads"} else {    if (Test-Path $InstallPath) {        Write-Host "Info: $InstallPath exists, deleting."        Remove-Item $InstallPath -Force -Recurse -ErrorAction Stop    }     $target = ("vsdbg-" + $VersionNumber).Replace('.','-') + "/vsdbg-" + $RuntimeID + ".zip"    $url = "https://vsdebugger.azureedge.net/" + $target    DownloadAndExtract $url $InstallPath    WriteSuccessInfo $InstallPath $RuntimeID $VersionNumber    Write-Host "Info: Successfully installed vsdbg at '$InstallPath'"}

 

========== 正在准备容器 ==========正在准备 Docker 容器...C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -NoProfile -WindowStyle Hidden -ExecutionPolicy RemoteSigned -File "C:\Users\MESTC\AppData\Local\Temp\GetVsDbg.ps1" -Version vs2017u5 -RuntimeID linux-x64 -InstallPath "C:\Users\MESTC\vsdbg\vs2017u5"Info: Using vsdbg version '16.0.20412.1'Info: Using Runtime ID 'linux-x64'Info: C:\Users\MESTC\vsdbg\vs2017u5 exists, deleting.

 

下面说说解决方案

下载包 

https://vsdebugger.azureedge.net/vsdbg-(你的版本号.号换成-号)/vsdbg-(你的Runtime ID).zip
例如我的
https://vsdebugger.azureedge.net/vsdbg-16-0-20412-1/vsdbg-linux-x64.zip 下载之后解压到你的安装路径 例如我的
-InstallPath "C:\Users\MESTC\vsdbg\vs2017u5"  然后在该文件下添加一个success_rid.txt文件,内容为你的Runtime ID 例如我的linux-x64 还要添加一个success_version.txt文件,内容为你的版本号,如16.0.20412.1 重启 visual studio 下面还会下载另一个,相同的处理方式,再重启一次就ok了 最新版操作过程 最新下载文件路径 https://vsdebugger.azureedge.net/vsdbg-16-2-10709-2/vsdbg-linux-x64.zip https://vsdebugger.azureedge.net/vsdbg-16-2-10709-2/vsdbg-linux-musl-x64.zip 解压路径
C:\Users\用户名\vsdbg\vs2017u5 ->  vsdbg-linux-x64.zip
C:\Users\用户名\vsdbg\vs2017u5\linux-musl-x64 ->  vsdbg-linux-musl-x64.zip 解压完了,在路径 C:\Users\用户名\vsdbg\vs2017u5 里面 新建 success_rid.txt 编辑内容 linux-x64,再新建 success_version.txt 编辑内容 16.2.10709.2
在路径 C:\Users\用户名\vsdbg\vs2017u5\linux-musl-x64 里面 新建 success_rid.txt 编辑内容 linux-musl-x64,再新建 success_version.txt 编辑内容 16.2.10709.2 完成
 

转载于:https://www.cnblogs.com/microestc/p/10784877.html

你可能感兴趣的文章
as4 通过yum自动升级实现
查看>>
mimtproxy的使用(windows)
查看>>
学习springMVC实例1——配置和跳转到HelloWorld
查看>>
注解@Slf4j
查看>>
92:Reverse Linked List II翻转链表【链表】
查看>>
JDBC 获取被插入数据的主键ID值
查看>>
new Date()时间对象
查看>>
Tomcat配置SSL连接
查看>>
最短路
查看>>
android--asp.net webservice 返回json
查看>>
javascript实现KMP算法(没啥实用价值,只供学习)
查看>>
洛谷P2324 [SCOI2005]骑士精神
查看>>
Android MVP框架实现登录案例
查看>>
使用全局唯一标识(GUID)
查看>>
题解【poj2774 Long Long Message】
查看>>
beyondCompare试用期到期解决办法
查看>>
成功实施的APS项目故事分享---我们数据治理的心路历程
查看>>
4.2.7 Waiting ten thousand years for Love
查看>>
java concurrent 探秘
查看>>
IE模式下EasyUI Combobox无效问题
查看>>