C# usar objecto COM (32 bits) em sistemas 64bits

Comecei recentemente a trabalhar com um Windows 64 bits, hoje tentei abrir e executar um projeto de C# para fazer umas alterações, tudo abriu correctamente nenhum problema aparente, mesmo depois de fazer build não era gerado nenhum erro nem sequer um único Warning.

Quando tento fazer debug recebo um erro bastante estranho, numa parte do código que acede a uma DLL que serve de ponte entre a minha aplicação e outra aplicação de código fechado, esta dll é fornecida pelo fabricante (que por acaso é a Microsoft), depois de experimentar mil e um coisas e nada fazer com que o projeto corresse coloquei a versão que resultava do debug, numa máquina com XP 32bits e o projeto correu lindamente.

Depois de alguns testes a solução para o problema foi mudar a configuração da “Solution Plataform” para x86 por defeito é “Any CPU”, já agora no Visual Studio Express não aparece por defeito activa esta opção é necessário ir a Tools ““> Options ““> Projects And Solutions e marcar “Show Advanced Build Configurations “.

E é este o workaround para usar objectos COM de 32 bits em sistemas de 64 bits, referi em cima C# mas deve funcionar nas outras linguagens da .net FW.

2 comentários em “C# usar objecto COM (32 bits) em sistemas 64bits”

  1. Irra que isto de ser programador não é nada fácil! Vá lá que este problema ainda se resolveu facilmente, imagino os verdadeiros quebra-cabeças…

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.