¿Qué tipo de proyecto de C# usaría para volver a desarrollar un control activex MFC C++?

StackOverflow https://stackoverflow.com/questions/55451

Pregunta

Si observa las plantillas de proyecto de C# en VS2008, las ofertas son la Biblioteca de control de usuario de WPF, la Biblioteca de control personalizado de WPF y la Biblioteca de control de Windows Forms.¿Cuál de estos usarías si quisieras trasladar un control activo heredado escrito en C++ al mundo de C# y .NET?

¿Fue útil?

Solución

Parece que estás intentando hacer varias cosas diferentes a la vez:

  1. Migre su código para compilarlo en una versión más nueva de Visual Studio.
  2. Migre su uso de la tecnología a una tecnología más nueva (ActiveX a .net)
  3. Migra tu lenguaje (c++ a c#).

Si tiene una base de código pequeña, probablemente también deba comenzar desde cero y trasladar la funcionalidad a la nueva base de código según sea necesario.

Para una base de código más grande, debe darse cuenta de que se trata de una tarea costosa tanto en esfuerzo como en tasa de defectos.

Un orden podría ser:

  1. Importe su código a la versión más reciente de Visual Studio.Hazlo compilar.Revise la configuración del proyecto para cada proyecto.
  2. Refactorice su código para aislar el código mfc y activex tanto como sea posible.Siga buenas prácticas de refactorización, especialmente si no tiene muchas pruebas unitarias antes de comenzar.
  3. Considere reemplazar su capa ActiveX con .net.
  4. Considere qué kit de herramientas GUI es mejor para reemplazar MFC.
  5. Idioma: considere pasar primero a C++ administrado.
  6. Considere pasar de C++ administrado a C#.

¡Lo más importante es poder justificar todo lo anterior!

Otros consejos

No existe una plantilla de proyecto que haga esto por usted.También puedes leer y comenzar con un control de usuario.

Debería considerar la aplicación de destino que alojará el control.Si es una aplicación de línea de negocio que he escuchó que WPF no ofrece grandes ventajas sobre Forms.De acuerdo a este Sin embargo, en la entrada del blog, el autor cree que el WPF definitivo es una aplicación LOB que aprovecha la potencia gráfica que ofrece WPF para la visualización de datos.

Al final supongo que es un análisis coste/beneficio.¿Sigue la ruta de WPF y paga el costo de la curva de aprendizaje para obtener el beneficio futuro de la visualización gráfica de datos o se apega al método probado y verdadero y corre el riesgo de desarrollar una aplicación obsoleta?

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