我有一个名为:MyProject.sln
的解决方案和名为 docker-compose.dcproj
的与 docker 相关的项目。
我想创建 dotnet 新模板,它将通过项目 docker-compose.dcproj
包含对 docker-compose 的支持。
我试过这个命令:
dotnet sln MyProject.sln 添加 docker-compose.dcproj
我收到此错误消息:
Project 'C:\MyProject\docker-compose.dcproj' has an unknown project type and cannot be added to the solution file. Contact your SDK provider for support.
我正在使用 .net core sdk
版本 3.1.100
。
如何通过上面的命令将docker-compose.dcproj
添加到解决方案中?
最佳答案
我至少可以通过两种方式让它工作。
1。 Visual Studio
我创建了一个 .net 框架项目。右键单击项目。添加 > Docker 支持。 我搬家了
- docker-compose.dcproj
- docker-compose.override.yml
- docker-compose.yml
到 .NET Core 项目文件夹。
选择 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 文件文本如下。
$ 输入 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>
在解决方案文件中的 Global
上方添加以下两行。
Project("{Any GUID}") = "docker-compose", "docker-compose.dcproj", "{<ProjectGuid> from above output}"
EndProject
请不要弄乱文件格式。要特别小心。在尝试任何此操作之前保存解决方案文件的副本。祝你好运。
关于docker - 如何通过 dotnet sdk 将 .dcproj 添加到解决方案中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59500961/