Visual Studio容器工具要求在构建,调试或运行容器化项目之前运行Docker

时间:2018-01-30 15:41:32

标签: docker visual-studio-2017 docker-compose microservices asp.net-core-webapi

我正在研究.Net核心微服务。我安装了包含docker cli和kitematics的Docker Toolbox。之后,我在visual studio 2017中创建了一个简单的(.Net核心)web api项目,并且还支持docker。

但是当我点击F5运行该程序时,它会显示以下错误并且不会运行。

Visual Studio容器工具要求在构建,调试或运行容器化项目之前运行Docker。

请查看附件。

运行项目时Visual Studio错误 enter image description here

如果我使用docker cli构建并运行项目,它正在工作。问题出在Visual Studio 2017上。

6 个答案:

答案 0 :(得分:6)

问题出现是因为Visual Studio容器无法连接到docker for windows,解决方案是使用以下命令从Docker CLI打开visual studio 2017。 /c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/Community/Common7/IDE/devenv.exe C:\\PATH\\TO\\MY\\SOLUTION.sln

下面:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe

是我的devenv.exe文件和第二个参数的位置

C:\\PATH\\TO\\MY\\SOLUTION.sln

显示解决方案文件的路径。

有关此解决方案的更多详细信息,请单击Here

答案 1 :(得分:2)

我遇到了同样的问题,我通过在Visual Studio 2017的调试菜单中切换到IIS Express而不是Docker来解决了这个问题

enter image description here

答案 2 :(得分:0)

就我而言,此问题是由禁用的BIOS虚拟化引起的。要启用虚拟化,请see here。为了检查是否已启用虚拟化,请启动任务管理器>性能>查找虚拟化。如果要在功能齐全的IIS中托管Docker容器应用程序,请确保以管理员身份启动Visual Studio。

答案 3 :(得分:0)

在“虚拟”框中检查默认虚拟机设置内的共享文件夹,以确保共享了项目所在的磁盘。默认情况下,仅共享C:\ Users。因此,您也可以将项目移动到C:\ Users文件夹内的某个位置(例如,在Desktop文件夹中)

答案 4 :(得分:0)

将.Net Core 2.0应用程序更改为.Net Core 2.2后,尝试重建解决方案时遇到了相同的错误。重置Windows时,我的计算机上没有安装docker。为了解决这个问题,我想{@ 3}}来打包应用程序。

一旦安装了Docker,它将要求您启用Hyper-V和Container功能。在前面的弹出窗口中单击“确定”按钮,将为您启用此功能。

to do is to install the docker for desktop

您的计算机将自动重新启动,完成后,您应该能够在任务栏中看到已启用虚拟化。

enter image description here

此后,我没有遇到此错误。

答案 5 :(得分:0)

就我而言,我在 Dependencies> Packages 中对Microsoft.VisualStudio.Azure.Containers.Tools.Targets

的引用有误

删除参考文献可修复错误。