2017-06-02 16 views
3

既存のASP.Net(Core)Webアプリケーションにドッキングサポートを追加しようとしています。ターゲット依存グラフにターゲット "DockerBuildServiceReferences"を含む循環依存関係があります

これまで私が行ったことは、私の解決策を右クリックしてをクリックしたことです。

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". 

私はMicrosoft.VisualStudio.Docker.Compose.targetsファイルをチェックしましたし、私はそれだけだファイル全体を検索することで、DockerBuildServiceReferencesを含む任意の循環依存関係を見ることができない:私は、私は次のエラーを取得するドッキングウィンドウを使用してデバッグを開始しようとすると、 2つの場所で述べた:

<!-- 
    *********************************************************************************************** 

    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> 

そして:

<!-- 
    *********************************************************************************************** 

    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> 

私も最初から新しいASP.NETコアアプリケーションを作成しようとしましたそれにドッカーのサポートを追加して、それは完全に動作します。このエラーは、私が他の何かのためにカバーしていると信じさせる原因になります。私は、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 

任意のアイデアをいただければ幸いです!あなたはDockerfileとプロジェクトファイル(.csproj)を持っていないと同じフォルダ内に、またはあなたはソリューションファイル(.slnプロジェクトファイル(.csproj)を持っている場合

答えて

4

this threadthis answerよると、このような状況は同じで発生する可能性がありますフォルダ。

おそらく、同じディレクトリにソリューションとスタートアッププロジェクトが作成されているため、ドッカーの循環参照につながります。別のフォルダでプロジェクトを再作成し、すべての手順をやり直してください。

+1

私は早くそれを理解しましたが、答えを投稿するのを忘れました。あなたが投稿して以来私はあなたに担当者を与えるでしょう:) – KidCode

+0

ありがとう:) – VMAtm

関連する問題