Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.4K
Vistas
Canalización de Azure Devops: archivo no encontrado en el contexto de compilación

Obtención de un error en la canalización de Azure DevOps:

 Step 7/17 : COPY ["demo6/demo6.csproj", "demo6/"] COPY failed: file not found in build context or excluded by .dockerignore: stat demo6/demo6.csproj: file does not exist

NOTAS: ejecute la canalización en modo de diagnóstico y el archivo .sln existe

 ##[debug]cwd=/home/vsts/work/1/s ##[debug] /home/vsts/work/1/s/demo6.sln (file) ##[debug] /home/vsts/work/1/s/demo6/demo6.csproj (file)

Tengo una solución Asp.Net Core multiproyecto con la estructura de carpetas y los proyectos de la siguiente manera:

 demo6 |--demo6/demo6.csproj |--demo6.api/demo6.api.csproj

La aplicación es demo6, que hace referencia a demo6.api, que es una biblioteca de clases.

Esto está en GitHub en un repositorio demo6. Modifiqué el Dockerfile generado automáticamente para agregar el demo6/ adicional para ver si eso funciona, pero no.

Agradezco cualquier ayuda.

Dockerfile a continuación:

 FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build WORKDIR /src COPY ["demo6/demo6.csproj", "demo6/"] RUN dotnet restore "demo6/demo6.csproj" COPY . . WORKDIR "/src/demo6" RUN dotnet build "demo6.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "demo6.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "demo6.dll"]

También probé esto:

 FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build WORKDIR /src COPY ["demo6/demo6/demo6.csproj", "ddemo6/"] RUN dotnet restore "ddemo6/demo6.csproj" COPY . . WORKDIR "/src/ddemo6" RUN dotnet build "demo6.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "demo6.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "demo6.dll"]

Tengo este error:

 Step 7/17 : COPY ["demo6/demo6/demo6.csproj", "ddemo6/"] COPY failed: file not found in build context or excluded by .dockerignore: stat demo6/demo6/demo6.csproj: file does not exist ##[error]COPY failed: file not found in build context or excluded by .dockerignore: stat demo6/demo6/demo6.csproj: file does not exist

aquí está la estructura del repositorio ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El motivo del error de archivo no encontrado puede ser que la ruta relativa del Dockerfile y el csproj sean diferentes. Intente configurar el Dockerfile en la raíz de la solución para resolver su error.

También debe agregar un buildContext con la carpeta csproj .

buildContext : ruta al contexto de compilación

Además, aquí hay un caso al que puede referirse.

Una posible causa más de COPY falló: no se especificaron archivos de origen es el archivo .dockerignore presente en su espacio de trabajo

Busque el archivo .dockerignore porque la CLI (interfaz de línea de comandos) de docker envía contexto al daemon de docker para cargar el archivo .dockerignore.

Si el archivo .dockerignore existe en el contexto, es posible que haya una entrada de exclusión para ignorar el directorio de compilación

 # ignore or exclude build directory */build* */*/build*
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda