2017-07-28 40 views
7

Ben asp.net çekirdekli 2.0 preview1 uygulama geliştirdi. Ben 2017bir düzenek bulunamadı:

Şimdi Docker kullanarak Linux sunucusuna dağıtmak istediğiniz Visual Studio ile pencerelerde geliştirdi.

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 

Ben yeni duyuyorum: Geçen komutu sonraki hata alıyorum 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 

: O çalıştıran komutları sonra

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

:

Ben Docker dosyası oluşturduk asp.net-core ve özellikle Docker ile. Yani bu konuda herhangi bir yardım harika.

+0

Geri yüklemek dotnet denemek mü? – TGarrett

+0

evet denedim, ama yine de aynı hata – carpics

cevap

2

deneyin bu resim "2.0.0-preview1" kullanmak. Yerelde önizleme 1 dotnet çekirdeği varsa, ilk satırı FROM microsoft/aspnetcore: 2.0.0-preview1 olarak değiştirin.

Çalışmıyorsa, yerel dotnet core sürümünüzü kontrol edin, 2.0.0 önizleme2-final değerini işaretleyin, sonra csproj dosyasında 2.0.0 önizleme2-final değerini gösteren tüm referanslarınızı değiştirin, sonra 2.0 kullanın. .0-preview2 resmi. Umarım yardımcı olur.

4

Sen dotnet -r linux-x64 parametre böyle komutunu yayımlamak belirtmek gerekir:

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

Bu tek başına bir dağıtım yapacaktır.