我正在使用Visual Studio 2017 Enterprise中的.net核心项目。 我已经为项目添加了Docker支持,我按下F5,我收到了这个错误:
发送请求时发生错误
Microsoft.VisualStudio.Docker.Compose.targets(327,5)中发生此错误。
寻找我能得到的任何帮助!
更新
我发现VS正在尝试向aka.ms发送请求,这就是问题的来源。 我试图让它在一个封闭的网络中工作,并且因为该请求我无法在VS中启动它。我可以使用
在命令行中运行它docker-compose
答案 0 :(得分:4)
我找到了解决问题的方法。
当您尝试使用docker支持构建项目时,Visual Studio会尝试从aka.ms下载名为GetVsDbg.ps1的文件。 因此,要解决此问题,您需要手动下载文件,并将其放在%temp%文件夹中。
之后你需要注释掉最后一部分,即试图从vsdebugger.azureedge.net下载一些zip的部分。 然后,您需要找到您的vsdbg版本(当您尝试构建.net核心项目时,您可以在output-> build部分中找到它)并浏览到:
https://vsdebugger.azureedge.net/vsdbg-(Version)/vsdbg-linux-x64.zip
版本看起来像这样:15-1-11011-1。下载该zip后,将其解压缩到C:\ Users(用户名)\ vsdbg。
确保删除该项目的现有容器(如果有),然后重新构建项目。
这解决了我的问题,希望它会帮助别人!
答案 1 :(得分:0)
3 年后,如果您的安全软件在 Power Shell
准备好 GetVsDbg.ps1
时阻止执行所述 orchestration
脚本 (VS 2019
),则该问题仍然有效}.
不过,有一个更简单的解决方法来实现理想的解决方案,而不是非常好的和有效的公认答案,即通过欺骗 VS 2019
认为 remote debugger
的最新和准确版本已经放在下面的目录下,以后调用target directory
%userprofile%\vsdbg\vs2017u5
<块引用>警告:此解决方法假设所有调试会话都将在同一操作系统上执行。
食谱:
Version
工具和目标 Runtime ID
从 Containers Tools
期间的 orchestration
输出溢出,即。信息:使用 vsdbg 版本“16.9.20111.1”
信息:使用运行时 ID 'linux-x64'
在 Visual Studio 中关闭解决方案。
从上述网址模板下载您需要的调试器
<块引用>https://vsdebugger.azureedge.net/vsdbg-(Version)/vsdbg-(Runtime ID).zip
将 .
更改为 -
以表示版本。
解压并复制到 target directory
(如上所述)
在 target directory
内创建一个名为 success_rid.txt
的文件,内容为 (Runtime ID)
在 target directory
内创建一个名为 success_version.txt
的文件,内容为 (Version)
完成。现在可以重新打开解决方案,在接下来的 orchestration
应该产生这样的东西:
信息:存在最新版本的 VsDbg。跳过下载
这意味着 GetVsDbg.ps1
现在假定它具有调试所需的内容。鉴于 'docker-compose' 是正确的,所有容器都应按预期准备。