.NET Core 1.1,Docker Build遇到无法使用csproj找到'project.json'

Mik*_*ger 2 csproj docker .net-core dockerfile

我将应用程序从.NET Core 1.0升级到1.1.在这个过程中,dotnet构建命令使用.csproj项目文件启动,所以我摆脱了旧的project.json文件.一切都很好,直到我尝试运行docker build命令:

docker build -t sample.

当它到达Dockerfile中的RUN ["dotnet","build"]命令时,我收到一个错误:

Sending build context to Docker daemon 3.418 MB
Step 1 : FROM microsoft/dotnet:latest
 ---> 3693707d4f7f
Step 2 : COPY . /app
 ---> 771e2b035ea1
Removing intermediate container c271f962518e
Step 3 : WORKDIR /app
 ---> Running in 6a07c60bab1d
 ---> e819bc2a9e25
Removing intermediate container 6a07c60bab1d
Step 4 : RUN dotnet restore
 ---> Running in 99d1cf514fa3
warn : The folder '/app' does not contain a project to restore.
 ---> cf063f4db808
Removing intermediate container 99d1cf514fa3
Step 5 : RUN dotnet build
 ---> Running in c2ed65925939
Couldn't find 'project.json' in current directory
The command 'dotnet build' returned a non-zero code: 1
Run Code Online (Sandbox Code Playgroud)

但是没有'project.json'文件了.为什么我运行docker build时会得到这个,但是当我运行dotnet build时却没有?

这是完整的Dockerfile:

FROM microsoft/dotnet:latest
COPY . /app
WORKDIR /app
RUN ["dotnet", "restore"]
RUN ["dotnet", "build"]
EXPOSE 5000/tcp
CMD ["dotnet", "run", "--server.urls", "http://*:5000"]
Run Code Online (Sandbox Code Playgroud)

Mik*_*ger 5

当然,我只是在寻找答案的几天后发布了这个,然后出现了答案!在Docker中,"最新"并未指向1.1,即使1.1是最新发布的版本.我将dockerfile的第一行更改为:

从microsoft/dotnet:1.1-sdk-msbuild

现在它正在建设中.