Pergunta

Tentei converter um projeto que depende do tempo de execução do VJS para o VS2010, mas ele erra ao tentar executar.

Está dando o erro que "Não foi possível carregar arquivo ou montagem 'vjslib' ou uma de suas dependências. Foi feita uma tentativa de carregar um programa com um formato incorreto."

Reinstalei o tempo de execução do VJS, mas não parecia ajudar.

Existe alguma maneira de obter o .NET 4 para trabalhar com isso?

Foi útil?

Solução

Solução muito simples - Chamando J# Código do .NET 4.0

Você assume o controle e o carrega primeiro fornecendo um caminho explícito. Então, da próxima vez que for necessário, já conhece o caminho (ou já está carregado no AppDomain).

Você precisará usar a função Loadlibrary; portanto, importe a referência Pinvoke:

[DllImport("kernel32", SetLastError = true)]
static extern IntPtr LoadLibrary(string lpFileName);

A função ON ON (principal no console/winforms ou no global.asax application_start):

if (Environment.Version.Major >= 4)
{
    string folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), @"..\Microsoft.NET\Framework\v2.0.50727");
    folder = Path.GetFullPath(folder);
    LoadLibrary(Path.Combine(folder, "vjsnativ.dll"));
}

Outras dicas

Eu baixei o Microsoft Visual J# versão 2.0 pacote redistribuível de http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=4712 e instalou -o. O problema é resolvido.

Consegui que isso funcione copiando C: Windows Microsoft.net Framework V2.0.50727 vjsnativ.dll (para 64 bits Microsoft.net Framework64 V2.0.50727 vjsnativ.dll) para a depuração do meu aplicativo/liberação .

Suspeito que a Microsoft precise lançar outro pacote redistribuível J# para trabalhar com o .NET 4.0. Enquanto isso, este trabalho de trabalho faz um bom trabalho.

A única maneira de fazer funcionar era copiar o C: Windows Microsoft.net Framework V2.0.50727 vjsnativ.dll para a pasta C: Windows Microsoft.net Framework V4.0.30319. Ver http://community.microfocus.com/borland/managetrack/starteam/w/knowledge_base/17108.error-unable-to-load-dll-vjsnative-speci-sodule-se-não-BE-BE-Found-Exception- From-HRESULT-0X8007007E.ASPX

Para adicionar às respostas existentes, descobri que as soluções não funcionavam para mim.

A primeira coisa que fiz foi reparar o Microsoft Visual J# 2.0 Pacote redistribuível -se (x64) Usando o painel de controle do Windows (basta clicar com o botão direito do mouse e clique em reparo). Isso foi, caso eu tenha causado algum dano nas minhas tentativas anteriores de resolver o problema.

Eu já havia implementado a solução fornecida por David Thielen.

1 Etapa extra fechou o acordo para mim (resolveu o problema): copie "vjscor.dll", "vjslib.dll" e "vjsnativ.dll" de C: Windows Microsoft.net Framework64 V2.0.50727 Para C: Windows Microsoft.net Framework V2.0.50727

Então, basicamente, o pacote da Microsoft colocou as DLLs corretas na estrutura .NET de 64 bits e eu tive que movê-las manualmente para a pasta de 32 bits, que é então copiada na minha pasta de solução pela solução de David Thielen (acima).

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