visual studio 容器工具首次加载太慢 vsdbg\vs2017u5 exists, deleting 的解决方案
========== 正在准备容器 ==========
正在准备 Docker 容器...
C:\Windows\System32\WindowsPowerShell\v1.\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. <#
.SYNOPSIS
Downloads the given $Version of vsdbg for the given $RuntimeID and installs it to the given $InstallPath .DESCRIPTION
The following script will download vsdbg and install vsdbg, the .NET Core Debugger .PARAMETER Version
Specifies the version of vsdbg to install. Can be 'latest', 'vs2019', 'vs2017u5', 'vs2017u1', or a specific version string i.e. 15.0.25930.0 .PARAMETER RuntimeID
Specifies the .NET Runtime ID of the vsdbg that will be downloaded. Example: linux-x64. Defaults to win7-x64. .Parameter InstallPath
Specifies the path where vsdbg will be installed. Defaults to the directory containing this script. .INPUTS
None. You cannot pipe inputs to GetVsDbg. .EXAMPLE
C:\PS> .\GetVsDbg.ps1 -Version latest -RuntimeID linux-x64 -InstallPath .\vsdbg .LINK
For more information about using this script with Visual Studio Code see: https://github.com/OmniSharp/omnisharp-vscode/wiki/Attaching-to-remote-processes For 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-Studio To 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 = $false
if ($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 path
if (-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.\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://vsdebugger.azureedge.net/vsdbg-16-3-10904-1/vsdbg-linux-x64.zip
https://vsdebugger.azureedge.net/vsdbg-16-3-10904-1/vsdbg-linux-musl-x64.zip
Info: Previous installation at '/root/vsdbg' not found
Info: Using vsdbg version '16.3.10904.1'
Info: Creating install directory
Using arguments
Version : 'latest'
Location : '/root/vsdbg'
SkipDownloads : 'false'
LaunchVsDbgAfter : 'false'
RemoveExistingOnUpgrade : 'false'
Info: Using Runtime ID 'linux-x64'
Downloading https://vsdebugger.azureedge.net/vsdbg-16-3-10904-1/vsdbg-linux-x64.zip
visual studio 容器工具首次加载太慢 vsdbg\vs2017u5 exists, deleting 的解决方案的更多相关文章
- Microsoft Visual Studio 2008 未能正确加载包“Visual Web Developer HTML Source Editor Package” | “Visual Studio HTM Editor Package”
在安装Microsoft Visual Studio 2008 后,如果Visual Studio 2008的语言版本与系统不一致时,比如:在Windows 7 English System 安装Vi ...
- vue单页应用首次加载太慢之性能优化
问题描述: 最近开发了一个单页应用,上线后发现页面初始加载要20s才能完成,这就很影响用户体验了,于是分析原因,发现页面加载时有个 vendor.js达到了3000多kb,于是在网上查找了一下原因,是 ...
- Visual studio 2017 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包
装完win10更新 发现vs杯具了… 提示 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包 可以尝试在vs命令行 ...
- 首次加载进来DEV控件列表第一行颜色总是不对,后台代码显示的数据正确
1:行改变的颜色正确的颜色: 1.1颜色效果如下图: 1.2:设置行改变颜色: 2:结果首次加载第一行颜色为: 3:解决方案: 3.1 :Views-->OptionsSelection --& ...
- 如何解决Visual Studio 首次调试 docker 的 vs2017u5 exists, deleting Opening stream failed, trying again with proxy settings
前言 因为之前我电脑安装的是windows10家庭版,然而windows10家庭没有Hyper-v功能. 搜索了几篇windows10家庭版安装docker相关的博客,了解一些前辈们走过的坑. 很多人 ...
- visual studio开发工具的C#主流控件属性一览表
visual studio开发工具的C#主流控件属性一览表 详细的介绍了各控制属性的详细中文介绍 C#控件及常用设计整理 1.窗体 1.常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程 ...
- visual studio 2019工具里添加开发中命令提示符的方法
最新新装了visual studio 2019,发现默认的没有开发者命令提示符 现将添加步骤描述如下: 从VS2019菜单选择"Tools",然后选择"外部工具" ...
- Visual Studio测试工具TestDriven.NET2.2
原文:Visual Studio测试工具TestDriven.NET2.2 关于TestDriven.NET的文章很多,有很详细的说明,我不太会单元测试只是每次要运行程序才能调试觉得太麻烦了,所以找了 ...
- vue 首次加载缓慢/刷新后加载缓慢 原因及解决方案
# vue 首次加载缓慢/刷新后加载缓慢 原因及解决方案 最近做项目发现一个问题,页面每次刷新后加载速度都非常慢,20s左右,在开发环境则非常流畅,几乎感觉不到,本文参考望山的各种方案优化 1,关闭打 ...
随机推荐
- LIBCMTD.lib(exe_winmain.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用
这个问题是没找到程序入口 在网上查这个问题,一般都是说两条: (若是win32程序) 一是在项目属性\CC++\预处理器\预处理器定义\里添加 _WINDOWS 一是在项目属性\链接\系统 里选择 窗 ...
- Android零基础入门第50节:StackView卡片堆叠
原文:Android零基础入门第50节:StackView卡片堆叠 上一期学习了AdapterViewFilpper的使用,你已经掌握了吗?本期开始学习StackView的使用. 一.认识StackV ...
- 使用SqlSugar封装的数据层基类
首先简单封装了个DbContext public class DbContext { #region 属性字段 private static string _connectionString; /// ...
- Qt浅谈之二十七进程间通信之QtDBus good
一.简介 DBus的出现,使得Linux进程间通信更加便捷,不仅可以和用户空间应用程序进行通信,而且还可以和内核的程序进行通信,DBus使得Linux变得更加智能,更加具有交互性. DB ...
- Google Breakpad 在 windows下捕获程序崩溃报告
http://blog.csdn.net/goforwardtostep/article/details/56304285
- XML转义字符 如"&"
解析数据 XML 解析器通常情况下会处理XML文档中的所有文本. 当XML元素被解析的时候,XML元素内部的文本也会被解析,例如: <message>Hello Word!</mes ...
- 第二章 python如何运行程序
一.python解释器介绍 Python解释器是一种让程序运行起来的程序.实际上,解释器是代码与机器的计算机硬件之间的软件逻辑层.当Python包安装在机器上后,它包含了一些最小化的组件:一个解释器和 ...
- Servlet 3.0异步特性初探
Servlet 是 Java 为了编写服务端程序而定义的一个接口规范,在 Servlet 3.0 以后支持了异步的操作. 最近项目添加了一个代码热部署的功能,在客户端输入信号,信号到达 Web 服务器 ...
- 什么是BFC? CSS 如何使用伪元素清除浮动?
.BFC概念: 块级格式化上下文,是一个独立的渲染区域,让处于 BFC 内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响. 我们先了解一个名词:BFC(block formatting c ...
- Go语言之从0到1实现一个简单的Redis连接池
Go语言之从0到1实现一个简单的Redis连接池 前言 最近学习了一些Go语言开发相关内容,但是苦于手头没有可以练手的项目,学的时候理解不清楚,学过容易忘. 结合之前组内分享时学到的Redis相关知识 ...