il restore kpm non riesce a trovare System.Net.Http

Fare qualche lavoro con Docker, cercando di creare un contenitore ASP.NET 5 ma quando arriva a ripristinare i pacchetti, kpm restituisce OK per tutto tranne:

Unable to locate System.Net.Http 

Ho anche provato a scambiare questo con Microsoft.Net.Http.Client ma get una risposta simile.

Questo è il mio file project.json:

 { "webroot": "wwwroot", "version": "1.0.0-*", "exclude": [ "wwwroot" ], "packExclude": [ "**.kproj", "**.user", "**.vspscc" ], "dependencies": { "Microsoft.AspNet.Server.IIS": "1.0.0.0-beta2-10877", "Microsoft.AspNet.Diagnostics": "1.0.0.0-beta2-11936", "Microsoft.AspNet.Mvc": "6.0.0.0-beta2-12332", "Microsoft.Framework.ConfigurationModel.Json": "1.0.0.0-beta1-10525", "System.Net.Http": "4.0.0.0" }, "frameworks": { "aspnetcore50": { "dependencies": { } } } } 

Questo è il mio Dockerfile:

 FROM microsoft/aspnet COPY /app/approot/src/Docker.Web /app WORKDIR /app RUN ["kpm", "restore"] EXPOSE 5004 ENTRYPOINT ["k", "kestrel"] 

Ho solo bisogno di accedere a un WebClient o simile, sto andando a fare il modo corretto?

AGGIORNARE

OK Sono abbastanza sicuro che sia collegato alla fonte di NuGet che sto rivolgendo. Ho provato ad aggiornare il restore di kpm per utilizzare il feed MyGet aspnetrelease invece. Il problema esistente è fisso, ma ora ho:

 Unable to locate Newtonsoft.Json >= 6.0.6 

Aaaaaaaaaaaaargh

Modificato il mio command Dockerfile RUN a:

 RUN ["kpm", "restore", "-s", "https://www.myget.org/F/aspnetrelease/api/v2"] 

Riguardo all'aggiornamento di cose con kpm, ho dovuto aggiungere questo file (NuGet.Config):

 <?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="AspNetVNext" value="https://www.myget.org/F/aspnetvnext/api/v2/" /> <add key="nuget.org" value="https://www.nuget.org/api/v2/" /> </packageSources> <disabledPackageSources /> <activePackageSource> <add key="nuget.org" value="https://www.nuget.org/api/v2/" /> </activePackageSource> </configuration> 

Per /root/.config/NuGet/NuGet.Config . Dal momento che è Linux, il caso riguarda il path del file e il nome del file.

Successo!

Aggiornato il command Dockerfile RUN per:

 RUN ["kpm", "restore", "-s", "https://www.myget.org/F/aspnetrelease/api/v2", "-f", "https://nuget.org/api/v2"] 

Questo imposta l'impostazione predefinita al feed aspnetrelease MyGet con un fallimento a NuGet.

Una cosa da notare: l'aggiornamento di questo command e l'esecuzione sullo stesso host Docker non funzionava e restituì un errore di Linux veramente strano. Ho eliminato e ricreato l'host di Docker, ha ripreso la mia image e ha funzionato finalmente.

Speriamo che questo aiuterà qualcun altro in futuro.