Qual tipo de projeto C# você usaria para desenvolver novamente um controle activex MFC C++?

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

Pergunta

Observando os modelos de projeto C# no VS2008 e as ofertas são WPF User Control Library, WPF Custom Control Library e Windows Forms Control Library.Qual destes você usaria se quisesse mover um controle ativo legado escrito em c++ para o mundo de C# e .NET?

Foi útil?

Solução

Parece que você está tentando fazer várias coisas diferentes ao mesmo tempo:

  1. Migre seu código para construir em uma versão mais recente do visual studio.
  2. Migre seu uso de tecnologia para uma tecnologia mais recente (ActiveX para .net)
  3. Migre sua linguagem (c++ para c#).

Se você tiver uma base de código pequena, provavelmente será melhor começar do zero e portar a funcionalidade para a nova base de código, conforme necessário.

Para uma base de código maior, você precisa perceber que esta é uma tarefa cara, tanto em esforço quanto em taxa de defeitos.

Um pedido pode ser:

  1. Importe seu código para a versão mais recente do visual studio.Faça a compilação.Revise as configurações do projeto para cada projeto.
  2. Refatore seu código para isolar o código mfc e activex tanto quanto possível.Siga boas práticas de refatoração, especialmente se não tiver muitos testes de unidade antes de começar.
  3. Considere substituir sua camada ActiveX por .net.
  4. Considere qual kit de ferramentas GUI é melhor para substituir o MFC.
  5. Linguagem - considere migrar primeiro para c++ gerenciado.
  6. Considere mudar de c++ gerenciado para c#.

O mais importante é ser capaz de justificar todas as opções acima!

Outras dicas

Não existe um modelo de projeto que faça isso por você.Você também pode ler e começar com um controle de usuário.

Você teria que considerar o aplicativo de destino que hospedará o controle.Se for uma aplicação de linha de negócios, eu ouviu que o WPF não oferece grandes vantagens sobre o Forms.De acordo com esse entrada do blog, no entanto, o autor acredita que o WPF matador é um aplicativo LOB que aproveita o poder gráfico oferecido pelo WPF para visualização de dados.

No final, acho que é uma análise de custo/benefício.Você segue o caminho do WPF e paga o custo da curva de aprendizado para o benefício futuro da visualização gráfica de dados ou segue o método testado e comprovado e corre o risco de desenvolver um aplicativo desatualizado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top