2017-07-28 6 views
7

asp.net-core 2.0 preview1でアプリケーションを開発しました。 私はVisual Studio 2017でWindows上で開発しました。アプリケーション依存関係マニフェストで指定されたアセンブリが見つかりませんでした:

Dockerを使用してLinuxサーバーに展開します。

An assembly specified in the application dependencies manifest (Aplication.deps.json) was not found: 
    package: 'Microsoft.AspNetCore.Antiforgery', version: '2.0.0-preview1-final' 
    path: 'lib/netcoreapp2.0/Microsoft.AspNetCore.Antiforgery.dll' 
    This assembly was expected to be in the local runtime store as the application was published using the following target manifest files: 
    manifest.win7-x64.xml;manifest.win7-x86.xml;manifest.osx-x64.xml;manifest.linux-x64.xml 

私が使用して新しい午前:最後のコマンド私は次のエラーを取得していますrunのafer

dotnet build -o obj/Docker/publish -c Release 
dotnet publish -o obj/Docker/publish -c Release 
docker build -t testapi-api . 
docker run -p 44305:80 --name api testapi-api 

:その実行中のコマンドの後

FROM microsoft/aspnetcore:2.0 
ARG source 
WORKDIR /app 
EXPOSE 44305 
COPY ${source:-obj/Docker/publish} . 
ENTRYPOINT ["dotnet", "Aplication.dll"] 

私はドッカーファイルを作成しましたasp.net-core、特にDockerを使用しています。だから、これに関する助けは素晴らしいです。

+0

dotnetリストアを試しましたか? – TGarrett

+0

はい私はそれを試みたが、それでも同じエラー – carpics

答えて

2

「2.0.0-preview1」という画像を使用してください。基本的に最初の行をFROM microsoft/aspnetcore:2.0.0-preview1に変更します(ローカルにプレビュー1ドットネットのコアがある場合)。

もし動作しない場合は、ローカルのdotnetコアバージョンを確認してください.2.0.0-preview2-finalを指しています。次に、csprojファイルの2.0.0-preview2-finalを指す参照をすべて変更し、2.0 .0-preview2イメージ。それはあなたが私の希望を助けるだろう。

4

あなたはそのようなコマンドを発行DOTNETに-rのlinux-x64のパラメータを指定する必要があります。

dotnet publish -o obj/Docker/publish -c Release -r linux-x64 

これは、スタンドアロンの展開を行います。

関連する問題