2017-06-01 17 views
6

aşağıdaki Dockerfile ile bir ASP.NET Çekirdek liman işçisi imaj yaratmak için çalışıyorum:docker içinde PCL başvuran ASP.NET Çekirdek uygulama oluşturmak Can not

FROM microsoft/aspnetcore-build:1.1.1 
WORKDIR /app 
COPY src . 
RUN dotnet restore 
RUN dotnet publish --output /out/ --configuration Release 
EXPOSE 5000 
ENTRYPOINT ["dotnet","/out/MyWebApp.dll"] 

inşa başarısız olur ve aşağıdaki hatayı veriyor :

/app/MyPCL/MyPCL.csproj(70,3): hata MSB4019: ithal proje "/usr/share/dotnet/sdk/1.0.1/Microsoft/Portable/v4.5/Microsoft. Portable.CSharp.targets "bulunamadı. Bildirgedeki yolun doğru olduğunu ve dosyanın diskte olduğunu doğrulayın.

Bu nedenle, Microsoft.Portable.CSharp.targets bulamadığı için PCL kütüphanesi oluşturmada sorun yaşıyor. bu yol liman işçisi konteyner bulunmamalı gibi ben soruna neden olan düşünüyorum

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" /> 

:

Benim PCL proje dosyası aşağıdaki ithalat deyimi vardır. BTW, proje Visual Studio 2017'de mükemmel bir şekilde çalışır ve çalışır.

Herhangi bir fikrin var mı? Bu henüz mümkün değildir gibi

+0

musunuz? ASP.NET Core uygulama da bir dll vardır, ama teknik olarak bir "PCL" değil, a) ASP.NET Çekirdek (.NET Çekirdeği) hedefler 'netcoreapp1.1 'hedefler; .NET Framework veya Windows Mobile, bu yüzden sadece tek bir platformda çalışır ve b) "application dll" bir giriş noktasına (bir "Main" yöntemi) sahiptir, PCL yapmaz, bu yüzden büyük olasılıkla yanlış bir hedefe sahip olursunuz. Netstandardx.y' yi hedeflemeyin, bunun yerine 'netcoreappx.y' hedefleyin. 'Dotnet run' ile sadece uygulamaları çalıştırabilirsiniz (hedefleme> = 'net45' veya' netcoreappx.y') – Tseng

+0

Dockerfile’da olduğu gibi, benim "uygulama" bir ASP.NET Core uygulaması olan MyWebApp.dll’dir. hedefler netcoreapp1.1. Web uygulaması referans olan "MyPCL" adlı bir kütüphane projem var, bu da PCL profile111'i hedefleyen bir taşınabilir sınıf kütüphanesi. Anlayışım şu ki, dotnet şu anda netcoreapp'den başka bir şey inşa edemiyor. Ama taşınabilir sınıf kütüphaneleri oluşturabileceğini düşünüyorum. – tura08

cevap

İlgili konular