代码之家  ›  专栏  ›  技术社区  ›  Karthikeyan VK

Docker Build:“ContainerBuildAndLaunch”任务意外失败。无法加载文件或程序集“Microsoft.Win32.Registry”

  •  0
  • Karthikeyan VK  · 技术社区  · 2 年前

    我正试图在Visual studio 2022中构建我的.Net 6.0 API项目,但我收到以下错误。

    MSB4018 The "ContainerBuildAndLaunch" task failed unexpectedly.
    System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Win32.Registry, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'  user declined directory sharing
    

    尽管该项目的目标是操作系统框架-Linux,但它正在寻找 Microsoft.Win32.Registry 出于某种原因。任何方向都将不胜感激。

    Docker文件

    #请参阅 https://aka.ms/containerfastmode 了解Visual Studio如何使用此Dockerfile来构建映像以实现更快的调试。

    FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
    WORKDIR /app
    EXPOSE 80
    
    FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
    WORKDIR /src
    COPY ["BPBComputerGadgets.ProductsAPI/BPBComputerGadgets.ProductsAPI.csproj", "BPBComputerGadgets.ProductsAPI/"]
    RUN dotnet restore "BPBComputerGadgets.ProductsAPI/BPBComputerGadgets.ProductsAPI.csproj"
    COPY . .
    WORKDIR "/src/BPBComputerGadgets.ProductsAPI"
    RUN dotnet build "BPBComputerGadgets.ProductsAPI.csproj" -c Release -o /app/build
    
    FROM build AS publish
    RUN dotnet publish "BPBComputerGadgets.ProductsAPI.csproj" -c Release -o /app/publish /p:UseAppHost=false
    
    FROM base AS final
    WORKDIR /app
    COPY --from=publish /app/publish .
    ENTRYPOINT ["dotnet", "BPBComputerGadgets.ProductsAPI.dll"]
    
    0 回复  |  直到 2 年前
        1
  •  0
  •   Karthikeyan VK    1 年前

    请确保安装了最新版本的docker

    问题是 user declined directory sharing 。打开docker桌面->设置->资源->文件共享和添加文件夹->应用并重新启动。

    enter image description here