我有一个名为MyProject.sln
的解决方案,并且与docker相关的项目名为-docker-compose.dcproj
。
我想创建一个新的dotnet新模板,其中包含通过项目docker-compose.dcproj
对docker-compose的支持。
我尝试了以下命令:
dotnet sln MyProject.sln add docker-compose.dcproj
我收到此错误消息:
项目'C:\ MyProject \ docker-compose.dcproj'具有未知的项目类型,无法添加到解决方案文件中。请与您的SDK提供者联系以获取支持。
我正在使用.net core sdk
版3.1.100
。
如何通过上述命令将docker-compose.dcproj
添加到解决方案中?
答案 0 :(得分:0)
我至少可以通过两种方式使它工作。
我创建了一个.net框架项目。右键单击项目。添加> Docker支持。 我搬了
到.NET Core项目文件夹。
选择“添加新项目”并选择此dcproj文件。 对撰写文件进行一些编辑。我能够使它正常工作。
我也看到了提到的错误。无法通过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
请不要弄乱文件格式。要非常小心。在尝试执行任何此操作之前,请保存解决方案文件的副本。祝你好运。
答案 1 :(得分:0)