如何从 ASP.NET 核心项目中删除 docker 支持?

How to remove docker support from an ASP.NET Core project?

我已经安装了 Visual Studio 2017 Community RC with .NET Core 和 Docker(预览版),所以我可以在我的项目中尝试 "Add docker support"。

不幸的是我无法让它们协同工作(win8.1 + docker 工具箱 + hyperv 引擎 + docker 工具似乎不能很好地协同工作)所以我决定删除 docker 来自我的项目的支持。

没有任何菜单项可以删除 docker 支持,所以我只是从解决方案中删除了所有 docker 相关文件。

目前,当我尝试 build/rebuild/clean/...:[=​​13=] 时出现错误

Error MSB4018 The "CleanWorkspace" task failed unexpectedly. System.IO.FileNotFoundException: The file 'D:\dev\AspNetCore\docker-compose.yml' was not found.

Error MSB4018 The "PrepareForCompile" task failed unexpectedly. System.IO.FileNotFoundException: The file 'D:\dev\AspNetCore\docker-compose.yml' was not found.

我尝试删除 bin、obj、.vs 文件夹,但没有成功。

如果您查看项目文件夹,您应该会看到一个名为 <projectname>.csproj.user.

的用户设置文件

在此文件中,它可能如下所示

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ActiveDebugProfile>Docker</ActiveDebugProfile>
  </PropertyGroup>
</Project>

改变一下

<ActiveDebugProfile>Docker</ActiveDebugProfile>

<ActiveDebugProfile>Debug</ActiveDebugProfile>

您可以直接删除此文件,因为它是用户设置,文件中可能没有其他相关内容,请检查。

修改前请先备份

我有一个类似的答案,因为我的 ActiveDebugProfile 已经设置为调试,但这并没有真正从我的项目中删除 docker 支持。

右键单击 VS 中的解决方案,然后在您的 .csproj 文件中单击 "Edit MyProjectName.csproj" 注释掉(或删除)带有您的目标框架的 PropertyGroup 中名为 DockerComposeProjectPath 的标签

  <PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<!--<DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath>-->

接下来,在显示 "Docker" 的“调试”按钮旁边,有一个下拉列表,您可以在其中 select 启动项目。将此从 "Docker" 更改为您的项目名称。

最后,您将从项目中删除 "docker-compose" 和 "Dockerfile",构建以确认一切正常,您应该可以开始了!

我 运行 遇到同样的情况,想删除 Docker 对我的项目 Visual Studio 2017 和 .NET Framework 4.6.1 项目(不是 asp.Net Core)的支持但我相信这也适用于 Asp .Net Core 项目:

  • 在项目资源管理器中,查找名为 "docker-compose"

  • 的项目
  • 右击 select 选项 "Unload project"。只要这个
    项目已卸载,您将看到 运行 的 IIS/browser 选项 你的项目

如果您想重新启用 docker 支持,请 select 项目 "docker-compose" 并单击 "Reload Project" 这将删除所有 IIS/browser 选项并设置 Docker

转到您的项目依赖项并检查是否添加了任何容器包。如果这样做,请删除容器包并重建。

转到 launchSettings.json 文件位于:<YourProjectName>/Properties/launchSettings.json

删除此行:

 "Docker": {
  "commandName": "Docker",
  "launchBrowser": true,
  "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/...",
  "publishAllPorts": true,
  "useSSL": true
}