J'ai développé un projet simple. où je dois imprimer un rapport de cristal. le projet fonctionne très bien sur la machine locale, mais lorsque je lance ceci sur un serveur d’hébergement Web, il m’affiche une erreur lors de l’affichage du rapport Crystal.
Impossible de charger le fichier ou l'assembly 'CrystalDecisions.ReportAppServer.CommLayer, version = 13.0.2000.0, Culture = neutre, PublicKeyToken = 692fbea5521e1304' ou l'une de ses dépendances. Le système ne trouve pas le fichier spécifié . Description: une exception non gérée s'est produite lors de l'exécution de la demande Web en cours. Consultez la trace de la pile pour plus d’informations sur l’erreur et son origine dans le code.
Détails de l'exception: System.IO.FileNotFoundException: impossible de charger le fichier ou l'assembly 'CrystalDecisions.ReportAppServer.CommLayer, version = 13.0.2000.0, Culture = neutre, PublicKeyToken = 692fbea5521e1304' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.
Erreur de source:
Une exception non gérée a été générée lors de l'exécution de la requête Web en cours. Les informations concernant l'origine et l'emplacement de l'exception peuvent être identifiées à l'aide de la trace de pile d'exceptions ci-dessous.
Suivi de la charge d'assemblage: Les informations suivantes peuvent être utiles pour déterminer pourquoi le contrôle 'CrystalDecisions.ReportAppServer.CommLayer, Version = 13.0.2000.0, Culture = neutre, PublicKeyToken = 692fbea5521e1304' de l'assembly 'n'a pas pu être chargé.
WRN: la journalisation de la liaison avec l'assembly est désactivée . Pour activer la journalisation des échecs de liaison avec l'assembly, définissez la valeur de registre [HKLM\Software\Microsoft\Fusion! EnableLog] (DWORD) sur 1 . Remarque: les performances risquent d'être compromises. associé à la journalisation des échecs de liaison à l’assembly . Pour désactiver cette fonctionnalité, supprimez la valeur de registre [HKLM\Software\Microsoft\Fusion! EnableLog].
S'il vous plaît, tout le monde peut m'aider .....
Comme je l'ai dit dans un commentaire, votre crystaldecisions.reportappserver.commlayer.dll
n'est pas copié/présent sur votre serveur. Donc, pour cela, vous devez copier manuellement la dll et la coller dans votre dossier Bin
Pour copier une DLL
à partir d'un projet Visual Studio, suivez les étapes
1. Développez la hiérarchie de vos projets références (le projet ne doit pas être dans le mod debug)
2. Cliquez à droite sur
Dll
particulière (dans votre cascrystaldecisions.reportappserver.commlayer.dll
), sélectionnez Propriétés et définissez l'attribut 'Copie locale' sur TRUE3 Construisez votre projet. La DLL doit être présente dans votre dossier
BIN
.
J'ai eu la même erreur après avoir déménagé sur un nouvel ordinateur portable (Windows 10). En plus de définir True sur Copy Local, comme indiqué ci-dessus, je devais installer le moteur d'exécution Crystal Reports 32 bits pour .Net Framework, même si tout le reste était configuré pour s'exécuter dans un environnement 64 bits. J'espère que cela pourra aider.
Editer Web Config pour chaque version du fichier crystaldecisions et lui donner la même version que le fichier dll (cliquez dessus avec le bouton droit de la souris et sélectionnez-la dans les propriétés de la solution Explorer). .________
Dans la première plaque, vous devez vérifier que:
http://downloads.i-theses.com/index.php?option=com_downloads&task=downloads&groupid=9&id=101
(par exemple)crystaldecisions.reportappserver.commlayer.dll
D'une manière ou d'une autre, j'avais les mauvaises versions des DLL enregistrées dans mon projet.