Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 如何通过dotnet sdk将.dcproj添加到解决方案中_Docker_.net Core_Docker Compose_Asp.net Core Cli - Fatal编程技术网

Docker 如何通过dotnet sdk将.dcproj添加到解决方案中

Docker 如何通过dotnet sdk将.dcproj添加到解决方案中,docker,.net-core,docker-compose,asp.net-core-cli,Docker,.net Core,Docker Compose,Asp.net Core Cli,我有一个名为:MyProject.sln的解决方案,和docker相关的项目名为-docker compose.dcproj 我想创建dotnet新模板,该模板将包含通过projectdocker compose.dcproj对docker compose的支持 我试过这个命令: dotnet sln MyProject.sln add docker compose.dcproj 我收到了以下错误消息: 项目“C:\MyProject\docker compose.dcproj”的项目类型未知,

我有一个名为:
MyProject.sln
的解决方案,和docker相关的项目名为-
docker compose.dcproj

我想创建dotnet新模板,该模板将包含通过project
docker compose.dcproj
对docker compose的支持

我试过这个命令:

dotnet sln MyProject.sln add docker compose.dcproj

我收到了以下错误消息:

项目“C:\MyProject\docker compose.dcproj”的项目类型未知,无法添加到解决方案文件中。请与SDK提供商联系以获取支持

我正在使用
.net核心sdk
版本
3.1.100


如何通过上面的命令将docker compose.dcproj添加到解决方案中?

我至少有两种方法可以让它工作

1.Visual Studio 我创建了一个.net框架项目。右键单击项目。添加>Docker支持。 我搬家了

  • docker-compose.dcproj
  • docker-compose.override.yml
  • docker-compose.yml
  • 到.NET核心项目文件夹

    选择Added new project并拾取此dcproj文件。 只需对撰写文件进行一些编辑。我能让它工作起来

    2.当您没有visual studio时。 我也看到了提到的错误。无法通过cli添加项目

    $ dotnet sln ConsoleApp2.sln add "docker-compose.dcproj"
    Project 'C:\Code\ConsoleApp2\docker-compose.dcproj' has an unknown project type and cannot be added to the solution file. Contact your SDK provider for support.
    
    我修改了sln文件文本如下

    $type docker-compose.dcproj

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="15.0" Sdk="Microsoft.Docker.Sdk">
      <PropertyGroup Label="Globals">
        <ProjectVersion>2.1</ProjectVersion>
        <DockerTargetOS>Windows</DockerTargetOS>
        <ProjectGuid>9c31f76d-0249-4004-9b65-d5fa07cf95f8</ProjectGuid>
      </PropertyGroup>
      <ItemGroup>
        <None Include="docker-compose.override.yml">
          <DependentUpon>docker-compose.yml</DependentUpon>
        </None>
        <None Include="docker-compose.yml" />
      </ItemGroup>
    </Project>
    

    请不要弄乱文件格式。小心点。尝试任何操作之前,请保存解决方案文件的副本。祝您好运。

    您可以使用VS解决此问题,请参阅下图。这将在解决方案的根目录中生成docker-compose.yml文件

    Project("{Any GUID}") = "docker-compose", "docker-compose.dcproj", "{<ProjectGuid> from above output}"
    EndProject