J'obtiens une erreur « Une tentative a été effectuée pour charger un programme avec un format incorrect » sur un projet de réplication SQL Server

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

  •  09-06-2019
  •  | 
  •  

Question

L'erreur exacte est la suivante

Impossible de charger le fichier ou l'assemblage 'Microsoft.SqlServer.replication, Version = 9.0.242.0, Culture = Neutre, PublicKeyToken = 89845DCD8080CC91' ou l'une de ses dépendances.Une tentative a été faite pour charger un programme avec un format incorrect.

J'ai récemment recommencé à travailler sur ce projet après avoir passé deux mois sur un autre projet.Cela fonctionnait parfaitement auparavant et j'ai vérifié toutes les références.

Était-ce utile?

La solution 2

J'ai trouvé la solution.J'ai récemment mis à niveau ma machine vers Windows 2008 Server 64 bits.L'espace de noms SqlServer.Replication a été écrit pour les plates-formes 32 bits.Tout ce que j'avais à faire pour le faire fonctionner à nouveau était de définir la plate-forme cible dans les propriétés de construction du projet sur X86.

Autres conseils

Le réponse de Baldy ci-dessous est correct, mais vous devrez peut-être également activer les applications 32 bits dans votre AppPool.

Source: http://www.alexjamesbrown.com/uncategorized/could-not-load-file-or-assembly-chilkatdotnet2-or-one-of-its-dependencies-an-attempt-was-made-to-load-a- programme-avec-un-format-incorrect/

Lors de la configuration d'une application à exécuter sur ma machine locale (exécutant Vista 64 bits), j'ai rencontré cette erreur :

Impossible de charger le fichier ou l'assembly ChilkatDotNet2 ou l'une de ses dépendances.Une tentative a été faite pour charger un programme avec un format incorrect.

Évidemment, l'application utilise Composants ChilKat, mais il semblerait que la version que nous utilisons ne soit que la version 32 bits.

Pour résoudre cette erreur, j'ai configuré mon pool d'applications dans IIS pour autoriser les applications 32 bits.Ouvrez IIS Manager, faites un clic droit sur le pool d'applications et sélectionnez Paramètres avancés (voir ci-dessous)

enter image description here

Ensuite, définissez « Activer les applications 32 bits » sur True.

enter image description here

Terminé!

Modifiez la valeur de Platform Target sur la page de propriétés de votre projet Web en Any CPU.

enter image description here

Accédez à IIS -> Pool d'application -> Paramètres avancés -> Activer les applications 32 bits

Nous avons récemment rencontré un problème en essayant d'exécuter le code à partir de Visual Studio.Dans ce cas, vous devez faire
OUTILS > OPTIONS > Projets et solutions > PROJETS WEB et cochez la case "Utiliser la version 64 bits d'IIS Express pour les sites Web et les projets".

Pour ceux qui obtiennent cette erreur dans un ASP.NET MVC 3 projet, au sein de Visual Studio lui-même :

Dans une application ASP.NET MVC 3 sur laquelle je travaille, j'ai essayé d'ajouter une référence à Microsoft.SqlServer.BatchParser à un projet pour résoudre un problème où elle manquait sur un serveur de déploiement.(Notre application utilise SMO ;le correctif correct consistait à installer SQL Server Native Client et quelques autres éléments sur le serveur de déploiement.)

Même après avoir supprimé la référence à BatchParser, j'ai continué à recevoir l'erreur "Une tentative a été effectuée...", faisant référence à la DLL BatchParser, sur chaque page ASP.NET MVC 3 que j'ai ouverte, et cette erreur a été suivie par des dizaines d'analyses de pages. les erreurs.

Si cela vous arrive, effectuez une recherche de fichier et voyez si la DLL se trouve toujours dans l'un des dossiers \bin de votre projet. Même si vous effectuez une reconstruction, Visual Studio n’efface pas nécessairement tout ce qui se trouve dans tous vos dossiers \bin.Lorsque j'ai supprimé la DLL de la corbeille et que j'ai reconstruit, l'erreur a disparu.

J'ai eu cela dans une application MVC5 sous Windows 10 contre IIS Express.Ma solution était la suivante :

  • Outils =>
    • Options =>
      • Projets et solutions =>
        • Projets Web =>
          • Utilisez la version 64 bits d'IIS Express pour les sites Web et les projets

changez-le en 32 bits (vrai) ça marche

si vous obtenez cette longueur, elle ne peut pas être inférieure à zéro.Le nom du paramètre:problème de longueur dans la configuration du serveur iis, faites la chose simple, changez la chaîne de connexion dans le fichier web.config comme le nom de votre serveur SQL et le nom du serveur et redémarrez iis, puis essayez de charger la page qui fonctionne.

Si Publication dans Visual Studio 2012 en cas d'erreur, essayez de décocher la case "Procompiler lors de la publication" dans l'assistant de publication.

Un-check

Dans l'application du formulaire Windows, je fais cela, cliquez avec le bouton droit sur Project-> Propriétés-> build-> cocher Préférer la case à cocher 32 bits.Merci a tous

  1. Supprimez le répertoire de test temporaire situé ici C: Users (User) AppData Local temp VisualStudioteSploreErextensions

  2. Définir tous les projets sur x64 dans Visual Studio

  3. Définissez l'architecture du processeur par défaut sur x64 (Test/TestSettings/Default Processor Architecture).

Assurez-vous de nettoyer le fichier de solution. J'espère que cela vous aidera !

La modification du Target Framework dans les propriétés du projet de .NET Framework 4.7.1 à 4.6.2 a fonctionné pour moi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top