如何解决无法为 Azure Edge 构建 docker C#,错误 [build-env 6/6] RUN dotnet publish -c Release -o out
我试图在 C# 上构建 Azure Edge 解决方案,但它正在下降,我已经安装了 don't 2.1 运行时和 SDK,这是输出
dotnet --list-sdks
2.1.812 [/usr/local/share/dotnet/sdk]
dotnet --list-runtimes
Microsoft.AspNetCore.All 2.1.24 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.24 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.24 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
我已检查项目中存在双 .sln 或 .csproj 文件
这里是日志:
[+] Building 3.7s (16/16) FINISHED
=> [internal] load build deFinition from Dockerfile.amd64 0.0s
=> => transferring dockerfile: 126B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load Metadata for docker.io/microsoft/dotnet:2.1-runtime-stretch-slim 2.8s
=> [internal] load Metadata for docker.io/microsoft/dotnet:2.1-sdk 3.6s
=> [stage-1 1/4] FROM docker.io/microsoft/dotnet:2.1-runtime-stretch-slim@sha256:533af29cad1c859841fc5e93bf73011afcd9e3186146f1bb1365a91f2c29e85e 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 3.36kB 0.0s
=> [build-env 1/6] FROM docker.io/microsoft/dotnet:2.1-sdk@sha256:d11699f356ee5f0d199526a7eded1c4827ea71b8378cdbe421ed4575a2b1caa8 0.0s
=> CACHED [stage-1 2/4] workdir /app 0.0s
=> CACHED [build-env 2/6] workdir /app 0.0s
=> CACHED [build-env 3/6] copY *.csproj ./ 0.0s
=> CACHED [build-env 4/6] RUN dotnet restore 0.0s
=> CACHED [build-env 5/6] copY . ./ 0.0s
=> CACHED [build-env 6/6] RUN dotnet publish -c Release -o out 0.0s
=> CACHED [stage-1 3/4] copY --from=build-env /app/out ./ 0.0s
=> CACHED [stage-1 4/4] RUN useradd -ms /bin/bash moduleuser 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:50183243f43214b5a9c9251bd3f349244d9171113cc27b2801ebae25935cb7c0 0.0s
=> => naming to draftfoxcontainerdev2.azurecr.io/v2/linux/parsermodule:0.0.1-amd64 0.0s
[+] Building 1.2s (12/15)
=> [internal] load build deFinition from Dockerfile.amd64 0.0s
=> => transferring dockerfile: 126B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load Metadata for docker.io/microsoft/dotnet:2.1-runtime-stretch-slim 0.5s
=> [internal] load Metadata for docker.io/microsoft/dotnet:2.1-sdk 0.3s
=> [internal] load build context 0.0s
=> => transferring context: 2.92kB 0.0s
=> [stage-1 1/4] FROM docker.io/microsoft/dotnet:2.1-runtime-stretch-slim@sha256:533af29cad1c859841fc5e93bf73011afcd9e3186146f1bb1365a91f2c29e85e 0.0s
=> [build-env 1/6] FROM docker.io/microsoft/dotnet:2.1-sdk@sha256:d11699f356ee5f0d199526a7eded1c4827ea71b8378cdbe421ed4575a2b1caa8 0.0s
=> CACHED [build-env 2/6] workdir /app 0.0s
=> CACHED [build-env 3/6] copY *.csproj ./ 0.0s
=> CACHED [build-env 4/6] RUN dotnet restore 0.0s
=> CACHED [build-env 5/6] copY . ./ 0.0s
=> ERROR [build-env 6/6] RUN dotnet publish -c Release -o out 0.6s
------
> [build-env 6/6] RUN dotnet publish -c Release -o out:
#13 0.557 Microsoft (R) Build Engine version 16.2.37902+b5aaefc9f for .NET Core
#13 0.557 copyright (C) Microsoft Corporation. All rights reserved.
#13 0.557
#13 0.562 MSBUILD : error MSB1011: Specify which project or solution file to use because this folder contains more than one project or solution file.
------
executor Failed running [/bin/sh -c dotnet publish -c Release -o out]: exit code: 1
arnab.h.ghosh@AMAC02X335VJG5M edgesolution %
我用一个新的示例 c# 图像进行了测试,该图像正在构建中没有任何问题
=> [internal] load build deFinition from Dockerfile.amd64 0.0s
=> => transferring dockerfile: 43B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 34B 0.0s
=> [internal] load Metadata for mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim 0.5s
=> [internal] load Metadata for mcr.microsoft.com/dotnet/core/sdk:3.1-buster 0.5s
=> [build-env 1/6] FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster@sha256:0fece15a102530aa2dad9d247bc0d05db6790917696 0.0s
=> [stage-1 1/4] FROM mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim@sha256:6c67bed8a41e4cadb44303d509f4df707ff4 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 1.73kB 0.0s
=> CACHED [build-env 2/6] workdir /app 0.0s
=> [build-env 3/6] copY *.csproj ./ 0.0s
=> [build-env 4/6] RUN dotnet restore 15.5s
=> [build-env 5/6] copY . ./ 0.0s
=> [build-env 6/6] RUN dotnet publish -c Release -o out 3.6s
=> CACHED [stage-1 2/4] workdir /app 0.0s
=> [stage-1 3/4] copY --from=build-env /app/out ./ 0.1s
=> [stage-1 4/4] RUN useradd -ms /bin/bash moduleuser 0.3s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:b6c94d4a3a011c0e5e596a25662b8a5e84d47253f3ed3bf2c8b0c6743331291f 0.0s
=> => naming to localhost:5000/samplemodule:0.0.1-amd64
解决方法
正如您的日志所述,您有多个项目或解决方案文件,应该指定一个或去掉一个。
MSBUILD:错误 MSB1011:指定要使用的项目或解决方案文件,因为此文件夹包含多个项目或解决方案文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。