Pregunta

Aplicación Winforms muy simple que quiero implementar manualmente. ¿Pueden todos los ensamblajes a los que se hace referencia simplemente ir a la carpeta de la aplicación o dónde deberían publicarse? (En ASP.NET pueden ir a la carpeta \ bin). Preferiría no poner en el GAC.

¿Fue útil?

Solución

De forma predeterminada, coloco los ensamblajes a los que se hace referencia en la misma carpeta en la que implemento la aplicación en (o \ bin para ASP.NET), a excepción de un Muy buen motivo para implementarlo en el GAC.

Otros consejos

Puede usar .NET probind para definir una carpeta relativa donde la aplicación debería buscar .dlls al inicio. Solo necesita agregar un archivo de configuración simple con su aplicación. Para aplicaciones simples, implemento el archivo ejecutable y el archivo de configuración en el directorio raíz, y coloco las bibliotecas necesarias en un subdirectorio lib:

/
|-MyApp.exe
|.MyApp.exe.config
|-lib
   |-Lib1.dll
   |-Lib2.dll

Utilice este enlace de una respuesta reciente para encontrar cómo crear el archivo de configuración

La respuesta de Eric J es probablemente la correcta, pero hay una razón para desconfiar de colocar los ensamblajes en la carpeta de la aplicación: Windows 7. No me he encontrado con este problema personalmente, ya que todavía estoy en Vista Hell , pero al parecer en Windows 7, la cuenta de administrador protegido (con la que normalmente se ejecuta) no tiene acceso de escritura a todas las carpetas de aplicaciones, solo tiene acceso de escritura a las carpetas de aplicaciones instaladas por ese usuario. Por lo tanto, si su aplicación fue instalada por un usuario de Windows XP o Vista, y luego ese usuario se actualiza a Windows 7, se le negará permiso de escritura a su usuario predeterminado de Administrador protegido en la carpeta de la aplicación (ya que tiene un SID diferente en la nueva versión de Windows ).

Este problema solo le afectaría si intenta actualizar los ensamblajes dependientes, y solo afectaría a los usuarios que instalaron su aplicación en una versión anterior de Windows y luego actualizaron a Windows 7, por lo que no sé qué tan grande es tratar esto sería para ti.

Ver este artículo para más detalles.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top