【问题标题】:How to remove docker support from an ASP.NET Core project?如何从 ASP.NET Core 项目中删除 docker 支持?
【发布时间】:2017-05-29 06:47:39
【问题描述】:

我已经安装了带有 .NET Core 和 Docker(预览版)的 Visual Studio 2017 Community RC,因此我可以在我的项目中尝试“添加 docker 支持”。

不幸的是,我无法让事情一起工作(win8.1 + docker 工具箱 + hyperv 引擎 + docker 工具似乎不能很好地一起工作)所以我决定从我的项目中删除对 docker 的支持。

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

目前我在尝试构建/重建/清理/...时遇到错误:

错误 MSB4018 “CleanWorkspace”任务意外失败。 System.IO.FileNotFoundException:文件 'D:\dev\AspNetCore\docker-compose.yml' 没有找到。

错误 MSB4018 “PrepareForCompile”任务意外失败。 System.IO.FileNotFoundException:文件 'D:\dev\AspNetCore\docker-compose.yml' 没有找到。

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

【问题讨论】:

  • 这可能在您的一个项目文件中,尝试打开 csproj 文件并检查此任务,然后删除这些 XML 元素并保存文件。
  • 假设您正在使用源代码管理,您可以执行git reset --hard(或对应的)?
  • 不,我没有使用 git/tfs。刚刚安装了新的 vs2017 rc 并开始使用它。问题是:如果有“添加 docker 支持”——相应的“删除 docker 支持”在哪里——或者如何手动完全删除它?
  • 你能贴一张你的解决方案浏览器的图片吗?
  • FWIW,只是从我的解决方案中删除了“docker-compose”项目,为我做了。我不必删除任何文件。

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


【解决方案1】:

如果您查看项目文件夹,您应该会看到一个名为 <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>

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

更改前请备份。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我删除了 docker 项目,删除了 csproj.user 文件,找到了解决方案文件夹中的所有 docker 引用并将它们全部删除。但是,这一步实际上在最后有所帮助。如果没有这个帮助,像 visual studio container tools requires docker to be running 这样的错误会停止编译
    【解决方案3】:

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

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

    • 右键单击并选择“卸载项目”选项。尽快
      项目已卸载,您将看到用于运行的 IIS/浏览器选项 你的项目

    如果您想重新启用 docker 支持,请选择项目“docker-compose”并单击“重新加载项目”,这将删除所有 IIS/浏览器选项并设置 Docker

    【讨论】:

      【解决方案4】:

      转到launchSettings.json 文件位于:&lt;YourProjectName&gt;/Properties/launchSettings.json

      删除此行:

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

      【讨论】:

      • 另外,您需要删除项目中的 docker 文件。
      【解决方案5】:

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

      在VS中右击解决方案,在你的.csproj文件中点击“Edit MyProjectName.csproj”用你的目标框架注释掉(或删除)PropertyGroup中名为DockerComposeProjectPath的标签

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

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

      最后,您将从项目中删除“docker-compose”和“Dockerfile”,构建以确认一切正常,您应该一切顺利!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-30
        • 1970-01-01
        • 2016-05-21
        • 1970-01-01
        • 1970-01-01
        • 2018-05-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多