Recebo o erro “Foi feita uma tentativa de carregar um programa com formato incorreto” em um projeto de replicação do SQL Server

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

  •  09-06-2019
  •  | 
  •  

Pergunta

O erro exato é o seguinte

Não foi possível carregar arquivo ou montagem 'Microsoft.SQLServer.Replication, versão = 9.0.242.0, Culture = Neutro, PublicKeyToken = 89845DCD8080CC91' ou uma de suas dependências.Foi feita uma tentativa de carregar um programa com um formato incorreto.

Recentemente, comecei a trabalhar neste projeto novamente, após uma mudança de dois meses para outro projeto.Funcionou perfeitamente antes e verifiquei todas as referências.

Foi útil?

Solução 2

Eu encontrei a solução.Atualizei recentemente minha máquina para o Windows 2008 Server de 64 bits.O namespace SqlServer.Replication foi escrito para plataformas de 32 bits.Tudo o que precisei fazer para fazê-lo funcionar novamente foi definir a plataforma de destino nas propriedades de construção do projeto como X86.

Outras dicas

O resposta do careca abaixo está correto, mas você também pode precisar habilitar aplicativos de 32 bits em seu AppPool.

Fonte: http://www.alexjamesbrown.com/uncategorized/could-not-load-file-or-assembly-chilkatdotnet2-or-one-of-its-dependencies-an-attempt-was-made-to-load-a- programa com formato incorreto/

Ao configurar um aplicativo para ser executado em minha máquina local (executando o Vista 64 bits), encontrei este erro:

Não foi possível carregar o arquivo ou assembly ChilkatDotNet2 ou uma de suas dependências.Foi feita uma tentativa de carregar um programa com um formato incorreto.

Obviamente, o aplicativo usa Componentes ChilKat, mas parece que a versão que estamos usando é apenas a versão de 32 bits.

Para resolver esse erro, configurei meu pool de aplicativos no IIS para permitir aplicativos de 32 bits.Abra o Gerenciador IIS, clique com o botão direito no pool de aplicativos e selecione Configurações avançadas (veja abaixo)

enter image description here

Em seguida, defina "Ativar aplicativos de 32 bits" como True.

enter image description here

Tudo feito!

Altere o valor de Platform Target na página de propriedades do seu projeto web para Any CPU.

enter image description here

Vá para IIS -> Pool de Aplicativos -> Configurações avançadas -> Ativar aplicativos de 32 bits

Recentemente, tivemos um problema ao tentar executar o código do Visual Studio.Nesse caso você precisa fazer
FERRAMENTAS > OPÇÕES > Projetos e Soluções > PROJETOS WEB e marque a opção "Usar a versão 64 bits do IIS Express para sites e projetos".

Para aqueles que recebem esse erro em um ASP.NET MVC 3 projeto, dentro do próprio Visual Studio:

Em um aplicativo ASP.NET MVC 3 em que estou trabalhando, tentei adicionar uma referência a Microsoft.SqlServer.BatchParser a um projeto para resolver um problema em que ela estava faltando em um servidor de implantação.(Nosso aplicativo usa SMO;a correção correta foi instalar o SQL Server Native Client e algumas outras coisas no servidor de implantação.)

Mesmo depois de remover a referência ao BatchParser, continuei recebendo o erro "Foi feita uma tentativa...", referenciando a DLL do BatchParser, em todas as páginas ASP.NET MVC 3 que abri, e esse erro foi seguido por dezenas de análises de páginas erros.

Se isso acontecer com você, faça uma pesquisa de arquivos e veja se a DLL ainda está em uma das pastas \bin do seu projeto. Mesmo se você fizer uma reconstrução, o Visual Studio não limpará necessariamente tudo em todas as suas pastas \bin.Quando excluí a DLL da lixeira e construí novamente, o erro desapareceu.

Eu tinha isso em um aplicativo MVC5 no Windows 10 no IIS Express.Minha solução foi a seguinte:

  • Ferramentas =>
    • Opções =>
      • Projetos e Soluções =>
        • Projetos Web =>
          • Use a versão de 64 bits do IIS Express para sites e projetos

mude para 32 bits (verdadeiro) funciona

se você obtiver este comprimento não pode ser menor que zero.Nome do parâmetro:problema de comprimento na configuração do servidor iis, faça a coisa simples, altere a string de conexão no arquivo web.config, como o nome do servidor sql e o nome do servidor, reinicie o iis e tente carregar a página em que funciona

Se Publicação no Visual Studio 2012 ao errar, tente desmarcar o "Procompilar durante a publicação" opção no assistente de publicação.

Un-check

No aplicativo do formulário do Windows, faço isso, clique com o botão direito do mouse no Project-> Properties-> Build-> Verifique a caixa de seleção Prefere preferir 32 bits.Obrigado a todos

  1. Exclua o diretório de teste de temperatura localizado aqui C: Usuários (Usuário) AppData Local Temp VisualStudioTestExPloreRextensions

  2. Defina todos os projetos para x64 no Visual Studio

  3. Defina a arquitetura do processador padrão como x64 (Test/TestSettings/Default Processor Architecture).

Certifique-se de criar o arquivo de solução de forma limpa. Espero que isso ajude!

Alterar o Target Framework nas propriedades do projeto do .NET Framework 4.7.1 para 4.6.2 funcionou para mim.

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