Kid*_*ode 8 docker .net-core visual-studio-2017
我正在尝试向现有的 ASP.Net(核心)Web 应用程序添加 docker 支持。
到目前为止,我所做的只是右键单击我的解决方案,然后单击Add > Docker Support。当我尝试使用 docker 开始调试时,我收到以下错误:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\VisualStudio\v15.0\Docker\Microsoft.VisualStudio.Docker.Compose.targets(170,5): error MSB4006: There is a circular dependency in the target dependency graph involving target "DockerBuildServiceReferences".
Run Code Online (Sandbox Code Playgroud)
我检查了Microsoft.VisualStudio.Docker.Compose.targets文件,我看不到任何涉及的循环依赖DockerBuildServiceReferences,实际上搜索整个文件它只在两个地方提到:
<!--
***********************************************************************************************
Docker Compose Project Targets
***********************************************************************************************
-->
<UsingTask TaskName="CleanWorkspace" AssemblyFile="$(DockerBuildTasksAssembly)" />
<UsingTask TaskName="EnsureMsVsMonExists" AssemblyFile="$(DockerBuildTasksAssembly)" />
<UsingTask TaskName="EnsureVsDbgExists" AssemblyFile="$(DockerBuildTasksAssembly)" />
<UsingTask TaskName="GetServiceReferences" AssemblyFile="$(DockerBuildTasksAssembly)" />
<UsingTask TaskName="PrepareForBuild" AssemblyFile="$(DockerBuildTasksAssembly)" />
<UsingTask TaskName="PrepareForLaunch" AssemblyFile="$(DockerBuildTasksAssembly)" />
<PropertyGroup>
<BuildDependsOn>
DockerSetDevelopmentMode;
DockerPrepareForBuild;
DockerGetServiceReferences;
DockerBuildServiceReferences;
$(BuildDependsOn);
DockerComposeBuild;
DockerPrepareForLaunch;
</BuildDependsOn>
<CleanDependsOn>
DockerSetDevelopmentMode;
DockerCleanWorkspace;
$(CleanDependsOn);
DockerGetServiceReferences;
DockerCleanServiceReferences;
</CleanDependsOn>
</PropertyGroup>
<PropertyGroup>
<DockerComposeProjectPath>$(MSBuildProjectFullPath)</DockerComposeProjectPath>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
和:
<!--
***********************************************************************************************
TARGET : DockerBuildServiceReferences
***********************************************************************************************
-->
<Target Name="DockerBuildServiceReferences">
<PropertyGroup>
<DockerServiceReferenceTarget Condition=" '$(DockerDevelopmentMode)' == 'Regular' ">DockerPackageService</DockerServiceReferenceTarget>
<DockerServiceReferenceTarget Condition=" '$(DockerServiceReferenceTarget)' == '' ">Build</DockerServiceReferenceTarget>
</PropertyGroup>
<MSBuild Projects="@(DockerServiceReference)"
Targets="$(DockerServiceReferenceTarget)"
Properties="Configuration=$(Configuration);Platform=$(Platform);BuildingInsideVisualStudio=false"
Condition=" '@(DockerServiceReference)' != '' " />
</Target>
Run Code Online (Sandbox Code Playgroud)
我还尝试从头开始创建一个新的 ASP.NET Core 应用程序,并为此添加了 docker 支持,它运行良好。这让我相信这个错误掩盖了其他东西。
我正在使用 Visual Studio 2017,输出docker version如下(如果有帮助的话):
Client:
Version: 17.05.0-ce-rc1
API version: 1.27 (downgraded from 1.29)
Go version: go1.7.5
Git commit: 2878a85
Built: Wed Apr 12 19:43:25 2017
OS/Arch: windows/amd64
Server:
Version: 17.03.1-ce
API version: 1.27 (minimum version 1.12)
Go version: go1.7.5
Git commit: c6d412e
Built: Fri Mar 24 00:00:50 2017
OS/Arch: linux/amd64
Experimental: true
Run Code Online (Sandbox Code Playgroud)
任何想法将不胜感激!
对于收到此错误且@VMAtm 答案未解决的其他人。如果您在解决方案文件夹中运行迁移命令,也可能发生这种情况,该文件夹位于 .csproj 和 dockerfile 之上。运行迁移时,请确保您位于项目文件夹中。
| 归档时间: |
|
| 查看次数: |
5969 次 |
| 最近记录: |