2017-03-21 1 views
4

먼저 .NET 4.6.1을 사용하고 있습니다. VS 2017을 사용하는 Docker는 .NET Core 이외의 다른 제품과 함께 작동하지 않습니까?VS 2017 Add> Docker Support breaks 빌드 빌드 - "CleanWorkspace"작업이 예기치 않게 실패했습니다 (콘솔 앱)

문맥 메뉴에서 새로운 기능 Add > Docker Support을 사용하여 많은 파일을 만들었습니다. 여기 내 Dockerfile입니다 (이 자동 생성 된 이후로 손도 안) :

FROM microsoft/windowsservercore 
ARG source 
WORKDIR /app 
COPY ${source:-obj/Docker/publish} . 
ENTRYPOINT ["C:\app\nameofmyapp.exe"] 

내가 빌드 할 때, 나는 다음과 같은 오류 얻을 : 여기

The "CleanWorkspace" task failed unexpectedly. Microsoft.DotNet.Docker.CommandLineClientException: The Compose file '...\docker-compose.yml' is invalid because: services.pas.parsemicroservice.build.context contains null, which is an invalid type, it should be a string.

내 고정 표시기-compose.yml 파일의를 :

version: '2.1' 

services: 
    pas.parsemicroservice: 
    image: pas.parsemicroservice 
    build: 
     context: 
     dockerfile: Dockerfile 

나는 (오류가 문제가있는 null을 의미로) 상황에 ., 나는 다른 오류 추가하는 경우 :

There is a circular dependency in the target dependency graph involving target "DockerCleanServiceReferences".

잘못된 .NET Framework를 사용했거나 파일을 잘못 설정 한 결과입니까? (나는 도커 n00b입니다.)

답변

4

업데이트 : 순환 종속성 문제에 관해서는 SLN과 CSPROJ 파일이 같은 폴더에 없는지 확인하십시오. 먼저 솔루션을 만들 때 "솔루션 디렉토리 만들기"라는 확인란을 선택해야합니다. 이 비디오 https://channel9.msdn.com/Events/Visual-Studio/Visual-Studio-2017-Launch/T111

의 9시 15분 표에서와 같이 비 닷넷 핵심 애플리케이션을위한

도커 지원은 확실히 VS 2017에서 지원 귀하의 context 당신의 Dockerfile가 존재하는 디렉토리를 지정해야합니다. 이 경로는 docker-compose.yml 파일의 위치와 관련이 있어야합니다.

작성 파일 버전 2 참조 : https://docs.docker.com/compose/compose-file/compose-file-v2/#context

+0

그들은 같은 폴더에 모두는, 그래서에 대한 올바른 항목이'.' 올바른 것입니까? 컨텍스트 용으로 사용할 때 에 대한 오류가 발생합니다. 대상 "DockerCleanServiceReferences"와 관련된 대상 종속성 그래프에 순환 종속성이 있습니다. " 비 핵심 애플리케이션이 지원된다는 소식을 듣기 좋은 소식입니다. – codeMonkey

+0

확인 됨 - SLN 및 CSPROJ 파일이 서로 다른 폴더에 있으면 오류가 사라집니다. 감사!! – codeMonkey

관련 문제