Visual Studio无法创建docker镜像

时间:2017-12-07 11:10:35

标签: visual-studio docker asp.net-core-mvc .net-core docker-compose

我正在使用Visual Studio 2017 Enterprise中的.net核心项目。 我已经为项目添加了Docker支持,我按下F5,我收到了这个错误:

发送请求时发生错误

Microsoft.VisualStudio.Docker.Compose.targets(327,5)中发生此错误。

寻找我能得到的任何帮助!

更新

我发现VS正在尝试向aka.ms发送请求,这就是问题的来源。 我试图让它在一个封闭的网络中工作,并且因为该请求我无法在VS中启动它。我可以使用

在命令行中运行它
docker-compose

2 个答案:

答案 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

<块引用>

警告:此解决方法假设所有调试会话都将在同一操作系统上执行。

食谱:

  1. 收集所需信息 - Version 工具和目标 Runtime IDContainers Tools 期间的 orchestration 输出溢出,即。
<块引用>

信息:使用 vsdbg 版本“16.9.20111.1”
信息:使用运行时 ID 'linux-x64'

  1. 在 Visual Studio 中关闭解决方案。

  2. 从上述网址模板下载您需要的调试器

    <块引用>

    https://vsdebugger.azureedge.net/vsdbg-(Version)/vsdbg-(Runtime ID).zip

    . 更改为 - 以表示版本。

  3. 解压并复制到 target directory(如上所述)

  4. target directory 内创建一个名为 success_rid.txt 的文件,内容为 (Runtime ID)

  5. target directory 内创建一个名为 success_version.txt 的文件,内容为 (Version)

完成。现在可以重新打开解决方案,在接下来的 orchestration 应该产生这样的东西:

<块引用>

信息:存在最新版本的 VsDbg。跳过下载

这意味着 GetVsDbg.ps1 现在假定它具有调试所需的内容。鉴于 'docker-compose' 是正确的,所有容器都应按预期准备。