elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Es posible incluir solo las dependencias (Dlls) sin instalar todo el framework?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Es posible incluir solo las dependencias (Dlls) sin instalar todo el framework?  (Leído 9,296 veces)
EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
Es posible incluir solo las dependencias (Dlls) sin instalar todo el framework?
« en: 5 Septiembre 2011, 11:14 am »

Wenas,

Mi pregunta iba más orientada a C#, pero el caso es el mismo para VB.Net,
No comprendo la idea de poder permitir "Copiar en local" las referencias. Por ejemplo "system.dll" si necesariamente necesita el framework.

En resumen, es posible hacer un link de las dll's necesarias con la aplicación para que no dependa de todo el framework?
Tal como es el caso de Visual C++, que es posible distribuir el runtime y todo funciona de maravilla, hay algo posible o parecido para C# o vb.net?

Si no me expliqué bien, preguntad  :¬¬ (Ando durmiendo por el teclado)

SaluDOS!!!


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Es posible incluir solo las dependencias (Dlls) sin instalar todo el framework?
« Respuesta #1 en: 5 Septiembre 2011, 11:31 am »

No es posible :D

El .net framework es un conjunto de lenguajes, runtimes y compiladores ( y creo que algunas cositas mas) :P


En línea

<<J.R>>

Desconectado Desconectado

Mensajes: 72



Ver Perfil
Re: Es posible incluir solo las dependencias (Dlls) sin instalar todo el framework?
« Respuesta #2 en: 5 Septiembre 2011, 12:56 pm »

no se si esto funcione...

http://foro.elhacker.net/net/tutorial_como_abrir_tu_aplicacion_net_sin_net_framework_instalado-t222613.0.html
En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Es posible incluir solo las dependencias (Dlls) sin instalar todo el framework?
« Respuesta #3 en: 5 Septiembre 2011, 19:33 pm »

Tienes que tomar en cuenta que las dependencias del Framework tienen depencias y a su vez estas tienen más dependencias. Si tú aplicación depende por ejemplo de System.Dll está puede depender de otra dll y esa de otra, hasta puede ser más de una. Si es posible correr "Sin NetFramwork" y lo pongo entré comillas porqué si copias todas las dependencias necesarias a donde está la aplicaión obvio que funcionara pero eso incluye Megas y Megas de archivos, no es aconsejable hacerlo.

Tengo que buscar, por aquí tengo un código que al pasarle un Assembly, obtiene todas las dependencias necesarias para iniciar la aplicación sin el NetFrameWork, y el peso aproximado del ejecutable, pero lo deje a medias, se supone que usaba un algoritmo para comprimir las dependencias dentro del assembly. Muy parecido a la respuesta de arriba.
En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
Re: Es posible incluir solo las dependencias (Dlls) sin instalar todo el framework?
« Respuesta #4 en: 5 Septiembre 2011, 21:57 pm »

Gracias por responder.

Es una aplicación de consola, no tiene muchas dependencias.
Lo que estaba intentando es hacer correr un "Hola Mundo!" escrito en C# (Para comenzar) en Windows XP sp3 en un Virtual, con la aplicación mencionada anteriormente genera un ejecutable de 3mb apróx., pero me interesa incluir las Dll's fuera y no dentro del ensamblado pero linkeados.

Por cierto, copié TODAS las dll's del .Net y no funcionó D: vaya a ser por que (O quizá me confundí y copié las de Mono ¬¬).

Espero tu respuesta sobre el código que tienes para obtener las dependencias. ;)

SaluDOS!
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Es posible incluir solo las dependencias (Dlls) sin instalar todo el framework?
« Respuesta #5 en: 5 Septiembre 2011, 22:04 pm »

Como que 3MB? Si un "Hola Mundo" en sharp debe de pesar unos 5KB :huh:

[Edito]
Ahora veo que te referías a empaquetar el .NET con la aplicación que han mencionado antes.

Saludos
 
« Última modificación: 5 Septiembre 2011, 22:06 pm por Novlucker » En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
Re: Es posible incluir solo las dependencias (Dlls) sin instalar todo el framework?
« Respuesta #6 en: 5 Septiembre 2011, 22:26 pm »

:P

Estuve leyendo un artículo en la MSDN:
/lib (Opciones del compilador de C#)
En específico, leer sobre "/Reference", aunque dudo que sirva (O quizá si).

No se como listar las dependencias de un ejecutable (Aparte de las que indica el Visual Studio), por ejemplo está "MsCorEE.dll" ..
Bueno, seguiré esperando D:

SaluDOS!
En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Es posible incluir solo las dependencias (Dlls) sin instalar todo el framework?
« Respuesta #7 en: 6 Septiembre 2011, 02:25 am »

Un trozo de código que muestra como:

Código
  1.  Dim [Assembly] As Assembly = Assembly.LoadFile("C:\Ejemplo.exe")
  2.  
  3.        For Each Dll As AssemblyName In [Assembly].GetReferencedAssemblies
  4.            Console.WriteLine(Dll.Name & " " & Dll.Version.ToString)
  5.        Next
En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Es posible incluir solo las dependencias (Dlls) sin instalar todo el framework?
« Respuesta #8 en: 6 Septiembre 2011, 03:54 am »

podes embeber las referencias de tu aplicacion como recurso dentro del .exe, eso se puede, y se cargan en memoria cuando se ejecuta y asi no necesitas llevarlas, obvio el tamaño del .exe crece segun el tamaño de la dll, hay un post mio donde pregunte y quedo la solucion de como hacerlo, es realmente util, si a veces tenes una dll y no la queres llevar, le aplicas este metodo y lo haces bien portable al .exe

lo que si las dll importantes del framework, eso ya no se puede, lo tenes que tener instalado si o si, aparte son como 200 megas de librerias.

saludos.
En línea

EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
Re: Es posible incluir solo las dependencias (Dlls) sin instalar todo el framework?
« Respuesta #9 en: 6 Septiembre 2011, 10:10 am »

Un trozo de código que muestra como:

Código
  1.  Dim [Assembly] As Assembly = Assembly.LoadFile("C:\Ejemplo.exe")
  2.  
  3.        For Each Dll As AssemblyName In [Assembly].GetReferencedAssemblies
  4.            Console.WriteLine(Dll.Name & " " & Dll.Version.ToString)
  5.        Next
Solo me muestra MsCorEE (O era MsCord¿?) aún incluyendo la dll en el directorio junto con lo demás no funciona. D:

@seba123neo
Como podría embeber las referencias en la aplicación, lo he intentado pero no me funciona.
Por cierto, esto:
Portable Library Tools - VisualStudio MSDN
Alguien con "VS 2010 sp1" podría probarlo xD, ¿precisamente para que sirve? (No tengo el sp1, y son 512mb de descarga D:)

SaluDOS!
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines