将.net核心应用程序部署到docker会给“Microsoft.DotNet.Props”找不到错误

我有Windows 10家庭操作系统。 我已经安装了Docker工具箱。 我想将我的.net核心应用程序部署到Docker。 我通过引用以下有用的文章创build了我的Docker文件: https : //stormpath.com/blog/tutorial-deploy-asp-net-core-on-linux-with-docker

我的docker文件如下:

FROM microsoft/dotnet:latest COPY . /app WORKDIR /app RUN ["dotnet", "restore"] RUN ["dotnet", "build"] EXPOSE 5000/tcp ENV ASPNETCORE_URLS http://*:5000 ENTRYPOINT ["dotnet", "run"] 

但是,当我运行,docker命令创build图像,它给了我错误。

 user@machine_name MINGW64 path to solution $ docker build -t helloWorld:core . 

错误:

 /app/Web.xproj(7,3): error MSB4019: The imported project "/usr/share/dotnet/sdk/1.0.0-rc4-004771/Microsoft/VisualStudio/v14.0/DotNet/Microsoft.DotNet.Props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. The command 'dotnet restore' returned a non-zero code: 1 

有人可以请指导,这里有什么问题,因为我对Docker是全新的。

正如我在您的错误中看到Web.xproj ,看起来像你有这个问题github中所述的相同的问题。 这个问题的根源是,微软更新他们的docker到最新的SDK,从project.json移回到.csproj 。 解决方法是使用另一个1.1-sdk-projectjson标记:

 FROM microsoft/dotnet:1.1-sdk-projectjson 

请注意在Microsoft / dotnet / docker页面上:

latest标签不再使用project.json项目格式,但现在已经更新为基于csproj / MSBuild的。 如果您不希望将现有项目迁移到MSBuild,只需将Dockerfile更改为使用1.1.0-sdk-projectjson1.1.0-sdk-projectjson-nanoserver标记。 outlook未来,新的.NET核心sdk图像将基于MSBuild。