2017-03-21 19 views
4

まずは.NET 4.6.1を使用しています。 VS 2017のDockerは.NET Core以外で動作しませんか?VS 2017 Add> Docker Support breaks build - "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フレームワークを使用した結果ですか、またはファイルが正しく設定されていませんか? (私は確かにDocker 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

関連する問題