剧作家尖锐的 Docker 图像问题

时间:2021-06-11 17:29:51

标签: .net docker xunit playwright playwright-sharp

我正在尝试创建我的剧作家测试的 docker 图像,这是一个使用 xunit 的 .net 5 项目。

当我尝试启动 docker 镜像时出现以下错误

The specified task executable "sh" could not be run. System.IO.DirectoryNotFoundException: The working directory "/publish/.playwright/unix/native" does not exist. [/src/MyProject/MyProject.Core.csproj]

这是我的 dockerfile

FROM mcr.microsoft.com/dotnet/sdk:5.0 as build
WORKDIR /src
COPY ["MyProject.Core.csproj", ""]
RUN dotnet restore "MyProject.Core.csproj"
COPY . .
WORKDIR "/src"
RUN dotnet build "MyProject.Core.csproj" -c Debug -o /publish
    
FROM mcr.microsoft.com/playwright:v1.9.1-focal AS playwright

COPY --from=build /publish/ /app/
RUN chown -R pwuser:pwuser /app
run dotnet test /app/MyProject.Core.csproj

它似乎来自 nuget 包中的 playwrightSharp.targets 文件。我试图注释掉目标,但我认为它必须缓存在某个地方,因为它就像没有被注释掉一样。我什至尝试删除目标文件,但仍然出现错误:

/root/.nuget/packages/playwrightsharp/0.192.0/build/netstandard2.0/PlaywrightSharp.targets(18,5): error MSB6003:

似乎 /root 将在 docker 映像中?我对 docker 不够了解,甚至不知道去哪里找。

任何帮助将不胜感激!谢谢

1 个答案:

答案 0 :(得分:1)

当我卸载并安装 Microsoft.Playwright 时,它似乎使用了一个名为 Playwright 的折旧 nuget 包,它按预期工作。

相关问题