Saltar al contenido

Dockerfile no puede ver el archivo local o el servidor nuget privado

Solución:

Para un dotnet comando que se ejecuta dentro de un contenedor para encontrar sus feeds personalizados, el nuget.config El archivo también debe copiarse en el contenedor.

Para hacer esto, agregue un nuget.config archivo con su fuente privada a la carpeta de su proyecto y agregue un archivo adicional COPY paso que copia este archivo al contenedor.

Ejemplo (Dockerfile):

WORKDIR ...
COPY NuGet.Config /
COPY ... ...

para aquellos que han aterrizado aquí mientras usaban repositorios privados o feeds nuget personalizados y EJECUTAR restauración dotnet es defecto , entonces esto es lo que puede hacer:

Aplica especialmente si : su NuGet.Config contiene el punto final y las credenciales del repositorio privado, luego

1) copie NuGet.Config de su sistema en la carpeta del proyecto en el mismo nivel raíz donde está .csproject.

2) ahora, en el archivo de la ventana acoplable, coloque estas declaraciones justo antes de intentar restaurar el paquete:

COPY ./NuGet.Config ./

3) después de eso, agregue la ubicación del archivo de configuración en el comando dotnet restore como este:

RUN dotnet restore <CS_project_name>.csproj --configfile ./NuGet.Config

4) Ahora haz el resto de lo que querías hacer.

5) justo al final antes del punto de entrada o antes de copiar a otro contenedor (en caso de compilación de varias etapas), es una buena idea eliminar NuGet.Config, ya que no queremos que esté disponible en pod / contenedor para que se vea

RUN rm ./NuGet.Config

Puede agregar el nuget privado a través del comando dotnet, sin la necesidad de vincularlo al archivo nuget.config.

COPY *.csproj ./  

RUN dotnet nuget add source <source-value-of-nuget> -n <name> 

RUN dotnet restore 
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *