instalar - Dependencia de.NET Framework
net framework 4.5 sdk (15)
Al desarrollar una aplicación de escritorio en .NET, ¿es posible no requerir .NET Framework? ¿Desarrollar software en .NET es una forma preferida de desarrollar aplicaciones de escritorio? ¿Cuál es el lenguaje de programación más utilizado por las empresas de software para desarrollar aplicaciones de escritorio?
¿El supuesto de .NET Framework es asumido en base al sistema operativo Windows que ha instalado, por lo tanto, por qué enumeran los requisitos de la versión del sistema operativo Windows?
Creo que lo que trato de decir es que cuando veo los requisitos del sistema para cierto software rara vez veo el .NET Framework como un requisito. Entonces, siempre me pregunto cómo se las arreglarán sin que sea un requisito (si desarrollaron el software en .NET). Por lo tanto, asumo que la mayoría del software comercial no está escrito en .NET, por eso hago esta pregunta. Espero que despejó algunas cosas.
Muchas aplicaciones desarrolladas con C ++ / MFC para equipos de escritorio de Windows requieren una versión específica de los archivos DLL de tiempo de ejecución de MFC aunque no se indique explícitamente como un requisito. Creo que lo mismo se está haciendo realidad con las aplicaciones que requieren .NET.
Por ejemplo, la aplicación en la que trabajo se envía con archivos redistribuibles para .NET y la versión particular de MFC que necesitamos, así como una serie de otros componentes necesarios. Nuestro programa de instalación instalará cualquier componente que no esté instalado actualmente en el sistema de los usuarios. Cada lanzamiento en los últimos años ha usado más código .NET que en la versión anterior.
No creo que sea exacto suponer que la mayoría del software comercial no usa .NET solo porque no está listado como un requisito. No creo que puedas suponer con exactitud nada de eso.
Creo que lo que trato de decir es que cuando veo los requisitos del sistema para cierto software rara vez veo el .NET Framework como un requisito. Entonces, siempre me pregunto cómo se las arreglarán sin que sea un requisito (si desarrollaron el software en .NET). Por lo tanto, asumo que la mayoría del software comercial no está escrito en .NET, por eso hago esta pregunta. Espero que despejó algunas cosas.
No tengo ningún número, pero voy a adivinar que, dado que la mayoría de la gente está ejecutando XP y Vista en sus equipos de escritorio, listar el .NET Framework es discutible, especialmente si están apuntando al marco 2.0 en el aplicación en sí. De vuelta en el día, ¿cuántas aplicaciones viste que decía "requiere vbrun50.dll" o algo así desde que se instalaron en Windows por defecto?
Además, es un poco menos "aterrador" para aquellos que no son terriblemente expertos en informática. Lo único que quieren hacer es descargar, instalar y ejecutar la aplicación. Algunas de las aplicaciones que tengo requieren el framework 2.0 y algunas personas me preguntan qué es y cómo lo obtengo y me cuesta algo. La respuesta típica que les doy es "Si está ejecutando XP o Vista, no hay nada de qué preocuparse" y parece que les gusta.
Lo bueno del framework .NET es que Windows XP tiene instalada la biblioteca de tiempo de ejecución de 2.0 framework por defecto
¿Desde cuando? He tenido que decirle a muchos de nuestros usuarios de Windows XP que lo instalen. Sí, puede desplegarlo a través de la actualización de Windows, pero estoy bastante seguro de que es una instalación opcional y no algo que ocurra automáticamente.
y Vista tiene 3.5 instalados
No, tiene 3.0 instalado. Obtienes WPF, pero no obtienes linq
¡Creo que si pudieras hacer algo así como vincular estáticamente el .NET framework para no tener que desarrollarlo, entonces estarías en violación del EULA que microsoft provee!
¡Es el precio que tenemos que pagar por tener una experiencia de desarrollador tan rica! ¡Vale la pena si considera la dificultad de volver a la programación de MFC!
Creo que lo que trato de decir es que cuando veo los requisitos del sistema para cierto software rara vez veo el .NET Framework como un requisito. Entonces, siempre me pregunto cómo se las arreglarán sin que sea un requisito (si desarrollaron el software en .NET). Por lo tanto, asumo que la mayoría del software comercial no está escrito en .NET, por eso hago esta pregunta. Espero que despejó algunas cosas.
En la plataforma de Windows que usa .NET es la forma preferida de desarrollar aplicaciones de escritorio. El modelo WinForms de .NET es una forma de desarrollar aplicaciones tradicionales o de cliente grueso, con Windows Presentation Foundation de .NET como la última dirección tecnológica de MS.
Es posible no requerir .NET Framework; hay algunas compañías que venden (por miles de dólares, téngalo en cuenta) soluciones que le permitirán hacer esto. Sin embargo, estos son hacks completos y no son compatibles con Microsoft.
Cómo desarrollas aplicaciones de escritorio (es decir, usando .NET o no) depende de tu requerimiento. No hay una manera preferida.
La mayoría del lenguaje usado es probablemente C #.
Hice algo de programación en .NET (usando C #) y me di cuenta de que muchas veces anhelaba más control sobre varios Controles. Estos conocimientos requeridos se extendieron más allá del framework .NET.
Por ejemplo, cuando estaba trabajando con el control WebBrowser para producir una herramienta de prueba automatizada para aplicaciones web, me di cuenta de que hay ciertas situaciones que requerían controladores de eventos del control ActiveX de axWebBrowser de nivel más bajo y la documentación era escasa. Las muestras de código incorporaron una gran cantidad de Conceptos COM Interop. Entonces, ¿quizás tener algún conocimiento sobre COM podría ser útil?
La mejor práctica para la distribución de aplicaciones .NET es que el instalador de alguna manera se inicializa con el instalador .NET Redistributable para el marco requerido, de modo que si el marco requerido aún no está instalado (digamos que necesita 3.5 en Windows XP), entonces el instalador solo ponlo adentro.
.NET Runtime es lo suficientemente pequeña como para que esta instalación sea factible (alrededor de 24 MB para .NET 2.0 no han comprobado qué tan grande es .NET 3.5).
No puede ejecutar una aplicación .Net sin .Net Framework. El marco se encarga de algunas de las tareas en segundo plano más tediosas por lo que no podría ejecutar la aplicación sin el marco.
Puede considerar el uso de "Despliegue ClickOnce" , que hace que sea muy fácil agregar bootstrapping a .Net 2.0, 3.0 y / o 3.5 instaladores redistribuibles en su aplicación. Simplemente haga clic en una casilla de verificación en las propiedades de su proyecto y su instalador detectará automáticamente si el marco de requisitos previos ha sido instalado y lo instalará de no ser así.
No es adecuado para todas las situaciones, pero si puede aprovecharlo, puede ser bastante astuto.
Remotesoft ofrece un enlazador: $ 1250 para una sola licencia de desarrollador: http://www.remotesoft.com/linker/index.html
Si su aplicación se ejecutará en Mono (y el soporte de escritorio de Winform de Mono es bastante bueno ahora), puede empaquetar su aplicación como un paquete Mono, que es un solo ejecutable. Hay dos opciones: el valor predeterminado incluye el tiempo de ejecución, pero no tiene un enlace estático, el otro lo vincula de manera estática al tiempo de ejecución del Mono. La razón por la que quizás no desee un enlace estático es que pondría su aplicación bajo la LGPL; los paquetes que no están vinculados estáticos (solo un solo exe) no tienen ese requisito. http://www.mono-project.com/Mono:Runtime#Bundles
Sí, puedes construir una aplicación creada en dot NET sin usar el framework. Puede usar un programa como ESS dotNET FuZe para incorporar cualquier dll, incluidos los dll de framework en la aplicación. El EXE resultante ya no necesita un framework.
Por favor, vaya a este enlace: http://essaver.net/fuze.html para echar un vistazo a FuZe.
Todavía puede desarrollar aplicaciones para el escritorio de Windows utilizando C / C ++, eliminando el requisito de .NET Framework, pero deberá asegurarse de que las bibliotecas necesarias ya estén instaladas o en el sistema.
Lo bueno de .NET Framework es que Windows XP SP2 y Vista tienen el tiempo de ejecución de framework 3.0 instalado por defecto.
En muchos sentidos, este es el "estándar de desarrollo" de Microsoft y ha sido así por un tiempo. Esto le permite no preocuparse por tener un grupo de bibliotecas añadidas a su aplicación. Si te apegas a todas las bibliotecas proporcionadas por .NET, terminas solo tienes que preocuparte por implementar tu ejecutable, que es un gran alivio para el dolor de cabeza. Cuando tiene varias bibliotecas que también debe implementar, entonces comienza a tener problemas cuando escribe actualizaciones, porque debe asegurarse de que esas actualizaciones se extraigan en su instalador existente y en todas las aplicaciones existentes instaladas. .
En cuanto a "preferido", que siempre tiende a cambiar las plumas a veces, pero hay más y más desarrolladores de .NET queridos para la web y el escritorio en los sitios de búsqueda de trabajo que tiendo a visitar. 8 ^ D
EDITAR: Muchas gracias a Orion por señalar mi confusión en los marcos. Usted obtiene 3.0 "por la puerta si está en XP SP2 o Vista. Todo lo demás requerirá una simple descarga o ejecución de Windows Update.
Mono Tiene una versión de Windows, si es absolutamente necesario evitar la dependencia de .NET.
Sin embargo, de cualquier manera que lo mires, vas a necesitar un tiempo de ejecución compatible con .NET en cualquier computadora en la que se ejecute tu aplicación. Entonces, si quiere evitar completamente .NET, probablemente tendrá que distribuir el tiempo de ejecución de Mono junto con su aplicación.