2016-12-23 11 views
0

Dockerを使用してパフォーマンスの良いASP.NETコアデプロイメントを設定するには、thisという記事を続けました。Dockerを使用したASP.NETコアのデプロイメントで "ディレクトリ名/ app/Views/is invalid"

を未処理の例外:System.Reflection.TargetInvocationException:例外はによってスローされた私は、私はビューパスが存在されていないことを、例外を持っありを呼び出すdocker runを使用してコンテナを起動しようとするまで、これは動作します呼び出しのターゲット。 ---> System.ArgumentException:ディレクトリ名/ app/Views /が無効です。

、真dotnet publishエリアによって作成されたフォルダ内に、原因だけdllファイルなしViewフォルダのthats:原因ViewフォルダをあまりにwwwrootのようなpublishOptionsに含まれて、私はこれを理解カント

[email protected]:/etc/jenkins/workspace/App# ll publish-output | grep View 
-rwxr--r-- 1 root root 237K Aug 31 19:26 Microsoft.AspNetCore.Mvc.ViewFeatures.dll 

をまた、不足している:

"publishOptions": { 
    "include": [ 
     "wwwroot", 
     "Views/**/*.cshtml", 
     "Areas/**/*.cshtml" 
    ] 
    }, 

を私はまた、代わりに"Views/**/*.cshtml""Views"を試みたが、動作していません。私の理解では、publishOptionsは、dotnet publishを使用している場合、それらのフォルダをpublishing-directoryにコピーする必要があります。

私は間違っていますか?

ビルドにはmicrosoft/aspnetcore-build:1.0.1イメージ、記事ではベストプラクティスとして推奨されているようにアプリを起動するにはmicrosoft/aspnetcore:1.0.1を使用しています。

更新 Linuxでのみ問題があるようです。私のWin10開発マシンはうまく動作します。そこには、主なアプリやエリアから期待どおりに公開されたビューフォルダがあります。

UPDATE#2ドッカーハブのの例を使用すると、その機能も無効になります。

UPDATE#3 Visual Studioを使用してWindows 10開発マシンで新しいASP.NET Core MVCプロジェクトを作成し、それをLinuxボックスに転送しました。動作していません。ビューが表示されません。

UPDATE#4dotnet new -t webを直接Linuxのボックスに使用して新しいアプリケーションを作成しました:期待どおりの作品!

UPDATE#5私はLinuxサーバに作成したフォルダを移動し、Windowsマシン上でdotnet new -t webを実行しました:動作しない - 奇妙な...

答えて

0

問題は、ドットの前にドキュメントの欠落した空間でした現在のフォルダを参照する必要があります。

誤:ここ

RUN dotnet publish --output /out/ . --configuration Release 

RUN dotnet publish --output /out/. --configuration Release 

を修正(1ドッカー画像の説明から1コピー)が欠落している空間である:--output /アウト/ {スペース}

関連する問題