Eine assembly in der Anwendung angegebenen Abhängigkeiten manifest wurde nicht gefunden:
Ich entwickelte Applikation in asp.net-core 2.0 preview1.
Ich entwickelte auf windows mit Visual Studio 2017.
Nun will ich bereitstellen, um Linux-server mit Docker.
Ich erstellt Docker-Datei:
FROM microsoft/aspnetcore:2.0
ARG source
WORKDIR /app
EXPOSE 44305
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["dotnet", "Aplication.dll"]
Danach Befehle ausführen:
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
Afer der Letzte Befehl run
bin ich immer der nächste Fehler:
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
Ich bin neu mit asp.net-core und vor allem mit Docker. Also jede Hilfe ist groß.
- Haben Sie versucht, dotnet wiederherstellen?
- ja ich habe es versucht, aber immer noch der gleiche Fehler
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie angeben, - r-linux-x64 parameter in dotnet publizieren-Befehl so:
Dadurch wird ein standalone-deployment.
Versuchen, dieses Bild verwenden "2.0.0-preview1". Im Grunde ändern Sie die erste Zeile VON microsoft/aspnetcore:2.0.0-preview1, wenn Sie Ihre lokale hat Vorschau 1 dotnet Kern.
Wenn es nicht funktioniert, überprüfen Sie Ihre lokalen dotnet-core-version, es zeigt es auf 2.0.0-preview2-Finale, dann ändern sich alle Referenzen zeigen auf 2.0.0-preview2-Finale in csproj-Datei, dann verwenden Sie die 2.0.0-preview2 Bild. Es würde dir helfen, hoffe ich.