.net-4.0 windows-xp async-await c#-5.0 async-ctp

.net 4.0 - ¿Cuáles son los principales riesgos y beneficios de usar VS2010 Async CTP?



.net-4.0 windows-xp (1)

Me gustaría usar Visual Studio Async CTP (Versión 3) para desarrollar y probar en VS2010 SP1 en Windows XP SP3 principalmente porque mis clientes (y también yo) en Windows XP SP3. Hay un debate relacionado en el foro de MSDN: si selecciono .net 4.0 pero ejecuto en una máquina que tiene .net 4.5 ¿los errores WPF de .net 4.0 aún estarán allí?

Sin embargo, la NOTA SOBRE LA LICENCIA "TAL CUAL" dice:

Si bien la licencia Async CTP no le impide usarla bajo su propio riesgo en entornos de producción, le aconsejamos que no lo haga. El objetivo de este CTP es únicamente recopilar comentarios sobre nuestro diseño asíncrono previsto. No lo diseñamos ni lo construimos para ser utilizado en entornos de producción, y no lo probamos tan exhaustivamente como es necesario para su uso en entornos de producción, y creemos que tiene demasiados defectos como para ser utilizado en entornos de producción. Agradecemos los comentarios sobre Async CTP, pero no tenemos intención de corregir el Async CTP: las correcciones que hagamos solo aparecerán en el eventual producto liberado compatible.

¿Qué tan graves son esos defectos y errores, que se abandonan en Visual Studio Async CTP (Versión 3) y cuáles son las posibles otras consideraciones que debo tener en cuenta que pueden obligarme a cambiar mi decisión?

Las razones principales de preguntar son:

  • No seguí mucho sobre los temas de C # /. NET 4.5 VS2012 (debido a que me apego a Windows XP SP3, .NET 4.0 y VS2010) y necesito reducir el tiempo de toparse con problemas críticos;
  • Nunca antes había estado en una situación en la que probablemente debería seguir las listas de correcciones de errores (en lugar de un problema específico aislado según las necesidades)
    ¿Realmente lo necesito ahora, para este caso?

La pregunta principal:
¿Cuáles son las posibilidades de que los fallos no compatibles no tengan soluciones fáciles en .NET / C # 4.0 en VS2010, Windows XP SP3 y aquellos que pueden superar los beneficios de utilizar async / await?

El comentario de asnwer to @ DanPuzey:

La aplicación se basa en TPL, WPF, que trata de los flujos de datos de Internet (bolsa de valores) de forma asincrónica. Nunca antes tuve la necesidad de preocuparme de que me quedaran documentos no admitidos (muestras), defectos y errores. Probablemente no pueda preguntar sobre ellos, ya que no serán reproducibles por soporte de MSFT ni por otros. Me gustaría estimar los riesgos y los beneficios de usar extensiones no compatibles

¿Las diferencias, fallas, errores y riesgos principales son infinitos y no se pueden enumerar? ¿En absoluto?

Permítanme citar desde la página de descarga :

"Incluye un nuevo EULA para uso en producción. Nota: esta licencia no constituye un aliciente para que utilice el CTP para su código de producción. El CTP sigue siendo una Vista previa de tecnología no compatible y de uso por su cuenta. He recibido muchas solicitudes de los desarrolladores para usar el CTP para el código de producción, y así han cambiado la licencia para permitir eso ".

La respuesta al comentario de @CodesInChaos:

Esta no es la opción, ya que se mencionó al principio de mi pregunta con referencia a la descripción de enlace de entrada anterior aquí discusión. No se puede desarrollar y probar la aplicación .NET 4.0 de VS2012 o la máquina que tiene .NET 4.5. Es imposible instalar VS2012 o .NET4.5 en Windows XP. Mi experiencia (intenté instalar aplicaciones de otros proveedores) es que lo mencionado por su enfoque no produce aplicaciones que se ejecutan en Windows XP


La segunda recomendación de @CodesInChaos es que desarrolles usando VS2012. Uso VS2012 en Windows 7 para desarrollar aplicaciones .NET 4 que se ejecutan en Windows XP, y funciona bien. La única advertencia es que no se puede depurar en .NET 4 (en realidad se ejecuta en .NET 4.5 runtime), pero para el 99% de los casos eso no importa.

Utilicé Async CTP en producción; Lo consideré sorprendentemente estable para un CTP. Dicho esto, hay algunos errores conocidos. Lo más notable fue el orden de las operaciones en torno a las expresiones de await . Por lo tanto, siga la pauta de solo tener una await por declaración, y haga que la expresión await su expresión de nivel superior, por ejemplo:

var result = await ...;

Creo que Jon Skeet también descubrió algunos errores más oscuros durante su serie eduasync .

No hay una lista de errores Async CTP que se han corregido, o que aún existen (en Microsoft.Bcl.Async ). Puede haber alguna lista dentro de Microsoft, pero nadie más lo sabe.

La aplicación se basa en TPL, WPF, que trata de los flujos de datos de Internet (bolsa de valores) de forma asincrónica.

En ese caso, considere Rx . Rx es totalmente compatible con .NET 4, aunque creo que requiere VS2012 para su desarrollo.