índice totalmente termino servicio sea ruta restaurar restaurando referencia reconoce que puede proyecto problema para paquetes paquete origen org intentar instalar index haga este error elemento directamente desde denegado declarado con compatible cargar acceso c# .net nuget

c# - termino - puede que el paquete no sea totalmente compatible con el proyecto



NuGet como mecanismo de actualización de una aplicación. (3)

1 y 3) Es posible desplegar y recibir datos de NuGet usando NuGet.Core. Compruebe NuGet push ... en Windows Azure y en el código fuente del comando Update -Self de NuGet.exe.

También presentamos este escenario en nuestro próximo libro de NuGet: Pro NuGet .

2) Alojar su propio feed es fácil, visite www.myget.org o use la galería NuGet

Estamos desarrollando una aplicación .NET 3.5 (Windows Forms), que consta de 3 partes principales.

Como parte del proceso de implementación, nos gustaría poder actualizar continuamente los componentes después de ser instalados.

He estado pensando en configurar un servidor NuGet y empaquetar actualizaciones de componentes como paquetes NuGet.

¿Alguien ha hecho algo así antes? ¿Crees que NuGet se ajusta a este trabajo?

Nuestros requisitos son:

  • Recepción de archivos DLL empaquetados (pero puede haber escenarios de archivos adicionales en un paquete)
  • Detección de dependencia de otros componentes (o versiones de componentes)
  • Detección automática de nuevas versiones de componentes.

Estamos usando TeamCity para la integración continua y para construir nuestro producto, sé que se integra bien con NuGet y puede crear / publicar paquetes de NuGet directamente.

La pregunta es, ¿cómo puedo integrar NuGet con nuestra aplicación? ¿Hay algún código NuGet cliente para consumir paquetes? Me pregunto si esto puede funcionar.


Creo que es posible, hago algo similar en un proyecto que desarrollé. No creo que sea ''nuget doblado'', en la medida en que usas un feed privado y no intentas enviar estos paquetes al feed de nuget público. Nuget podría manejar sus dependencias con respecto al ensamblaje A necesita que el ensamblaje B funcione, pero en cuanto a la carga / descarga dinámica, tendría que mirar hacia algo como el Marco de Extensibilidad Administrada para cargar automáticamente los nuevos módulos.

Hay un código de cliente para Nuget llamado Nuget.Core, y se utiliza en la ventana de Nuget PowerShell en Visual Studio para descargar paquetes. Podría usarse para realizar la funcionalidad que describe, descargar paquetes nuevos y colocarlos en los lugares que su aplicación espera.

Si está buscando algunos ejemplos por ahí, hay algunos que podría encontrar una búsqueda en Google, pero uno que viene directamente a la mente es OctopusDeploy , que es un marco de implementación de aplicaciones creado alrededor de nuget.


Un poco tarde para la fiesta, pero he desarrollado un marco de código abierto que cumple exactamente los requisitos solicitados.

Se llama Sidewinder ( http://sidewinder.codeplex.com ); la mejor forma de usarlo es a través de sus paquetes NuGet (http://nuget.org/packages/sidewinder).

Esencialmente, agrega un pequeño fragmento de código al inicio de su aplicación y el componente sidewinder revisará la fuente (oficial o personalizada) para una actualización de los paquetes que necesita, los bajará y los desempaquetará en una carpeta temporal. Luego, realiza una copia de seguridad de la aplicación en un archivo zip, inicia sidewinder.exe (que completará la instalación) y devuelve el control a la aplicación indicando que debe terminar cuando haya una actualización pendiente. Una vez que su aplicación se cierra, sidewinder.exe copia el contenido actualizado de la carpeta temporal en su carpeta de aplicación y si incluye un archivo readme.txt en el paquete de nuget, incluso eso será shellexec.