Pergunta

Estou tentando atualizar um projeto do VS2005.É um projeto VB.NET B que depende de um projeto C# que faz referência a uma dll C++, A.dll.Estou recebendo um erro dizendo 'Não foi possível encontrar o assembly A_class, versão 2.0.0.0, Culture=neutral, PublicKeyToken=null'.A plataforma alvo do projeto C++ é 4.0 e como esse projeto depende de outros, não posso fazer downgrade dele.Mas configurei a plataforma do projeto VB.NET para 4.0.A que mais se refere a versão 2.0.0.0?Tentei criar um projeto totalmente novo e adicionei os formulários vb a ele depois de construí-lo com sucesso.A dll C++ está no diretório de saída, se o projeto VB não a encontrar lá, não chega a este ponto.Durante a construção.Não recebo nenhum erro (mas os formulários não carregam) ou recebo 2 erros (um para cada formulário):

error MSB3103: Invalid Resx file. Could not load file or assembly 'A-class, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format. Line 136, position 5.

Por favor me ajude, me dê uma sugestão, não sei onde procurar.muito obrigado.

Foi útil?

Solução

"Foi feita uma tentativa de carregar um programa com formato incorreto"

99% das vezes isso significa que você está tentando carregar um assembly de 32 bits usando ferramentas de 64 bits ou vice-versa.O número da versão na mensagem de erro significa apenas o número da versão do assembly que está tentando carregar;não tem nada a ver com a versão .NET que está sendo direcionada.Neste caso, parece que o compilador de recursos é o que tem problemas.

Tente configurar sua solução para construir explicitamente x86 em vez de Qualquer CPU e veja se isso resolve seu problema.

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