我將應用程序從.NET Core 1.0升級到1.1。在這個過程中,dotnet build命令開始使用.csproj項目文件,所以我擺脫了舊的project.json文件。一切正常,直到我嘗試運行docker build命令:.NET Core 1.1,Docker構建遇到無法使用csproj查找'project.json'
docker build -t示例。
當它擊中RUN [ 「DOTNET」, 「建」 在Dockerfile命令,我得到一個錯誤:
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
但沒有 '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"]
你確定project.json文件不再需要嗎?閱讀[發佈公告](https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-net-core-1-1/),他們討論了舊版本和新版本之間的區別。 – R0MANARMY