命令'/ bin / sh -c dotnet restore ./DockerTestDebian.csproj'返回了非零代码:1

时间:2019-01-11 20:54:37

标签: c# docker visual-studio-code .net-core

我创建了一个在debian 9上构建的dockerfile,该文件应将我的vscode项目文件夹构建一个docker镜像,但是在构建docker镜像时出现2个模糊的错误。我所有的文件都位于home / rydeb / Desktop / DockerTestDebian目录中

尝试构建我的图像的结果

 Step 1/12 : FROM microsoft/dotnet:2.0-sdk as builder
 ---> 9e06837225a4
Step 2/12 : ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
 ---> Using cache
 ---> a7abd475d0e7
Step 3/12 : RUN mkdir -p /home/rydeb/Desktop/DockerBuildStuff
 ---> Using cache
 ---> 72a293c67243
Step 4/12 : WORKDIR /home/rydeb/Desktop/DockerTestDebian
 ---> Running in 197210d0dc93
Removing intermediate container 197210d0dc93
 ---> 8b696a6350b1
Step 5/12 : COPY .  /DockerBuildStuff
 ---> d38caf512a12
Step 6/12 : WORKDIR /home/rydeb/Desktop/DockerBuildStuff/DockerTestDebian
 ---> Running in ba9d0a67d8f4
Removing intermediate container ba9d0a67d8f4
 ---> b35c16802b52
Step 7/12 : RUN dotnet restore ./DockerTestDebian.csproj
 ---> Running in 7d5dfb98591d
MSBUILD : error MSB1009: Project file does not exist.
Switch: ./DockerTestDebian.csproj
The command '/bin/sh -c dotnet restore ./DockerTestDebian.csproj' returned a non-zero code: 1

我的docker文件

FROM microsoft/dotnet:2.0-sdk as builder  
ENV DOTNET_CLI_TELEMETRY_OPTOUT 1

RUN mkdir -p /home/rydeb/Desktop/DockerBuildStuff  
WORKDIR /home/rydeb/Desktop/DockerTestDebian
COPY .  /DockerBuildStuff
WORKDIR /home/rydeb/Desktop/DockerBuildStuff/DockerTestDebian

RUN dotnet restore ./DockerTestDebian.csproj  
RUN dotnet publish -c release -o published -r linux-arm

FROM microsoft/dotnet:2.0.0-runtime-stretch-arm32v7

WORKDIR /root/  
COPY --from=builder /root/src/app/DockerTestDebian/published .

CMD ["dotnet", "./DockerTestDebian.dll"]

3 个答案:

答案 0 :(得分:1)

我刚刚设法使它基于Docker文件在这里运行:

https://github.com/dotnet/dotnet-docker/blob/master/samples/aspnetapp/Dockerfile

我只是将

注释掉了
RUN dotnet restore

这样做允许它继续,并且在

时运行了还原
RUN dotnet publish

似乎对我来说很好。

答案 1 :(得分:0)

在 dockerfile 上注释您的 dotnet restore 命令

#RUN dotnet restore

答案 2 :(得分:0)

在我的情况下,将文件 xcopy 到我的项目文件夹的 Post build 事件会导致此错误。

只需删除、构建并运行它,错误就消失了。 (右键单击项目 -> 属性 -> 构建事件) 然后再次添加复制命令,一切正常。