在使用dotnet-core项目运行docker时未发现在依赖项清单中指定的程序集
我有这样的消息错误:
Error: assembly specified in the dependencies manifest was not found -- package: 'microsoft.aspnetcore.antiforgery', version: '1.1.1', path: 'lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.dll'
当我运行这个命令时,它发生了:
dotnet build -o obj/Docker/publish -c Release dotnet publish -o obj/Docker/publish -c Release docker build -t webapi . docker run -p 80:80 --name api webapi
但在项目中,我可以看到参考
<PackageReference Include="Microsoft.AspNetCore.Antiforgery" Version="1.1.1" />
而在我的Dockerfile中,我想我把所有必要的信息:
FROM microsoft/aspnetcore:1.1 ARG source WORKDIR / EXPOSE 80 COPY ${source:-obj/Docker/publish} . ENTRYPOINT ["dotnet", "WebApi.dll"]
你有什么想法可以成为这种情况下的问题?
更新:在dotnet restore
通信后变成:
Error: assembly specified in the dependencies manifest was not found -- package: 'microsoft.extensions.dependencyinjection.abstractions', version: '1.1.0', path: 'lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll'
而它的情况依然如此。 但现在恢复后不再改变。
要解决这个错误,我必须改变我的WORKDIR。 据GitHub报道
WORKDIR /app