Impossible de charger le fichier ou l'assembly CrystalDecisions.ReportAppServer.ClientDoc
J'ai regardé sur des questions similaires sur, mais rien ne correspond à mon problème autant que je peux dire.
Le message de l'exception:
Impossible de charger le fichier ou l'assembly 'CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.
Le fichier est dans mon CAS. Je suis en train d'élaborer sur un ordinateur 32 bits (Windows 7) exécution de VS2010, tout est .NET4. La cible d'hébergement de la machine est de 64 bits Win 2008 R2. Ma machine locale a la CR d'installation pour VS2010; la machine qui héberge a la 64 bits runtimes pour VS2010. Je suis de la compilation de tout mon code dans "any CPU" mode pour cette application web.
Il souffle mon esprit qu'il ne peut pas trouver le fichier dans le GAC. C'est une application IIS; est-il une sorte de problème d'autorisations? Je pense que IIS auraient accès à la GAC.
Quelques suggestions de ce que serait appréciée.
- Dans plusieurs tiers dll qui j'ai travaillé, le PublicKeyToken est différente pour les 32 bits et les versions 64 bits. Si cela fonctionne sur un ordinateur, mais pas l'autre, cela peut être un endroit où regarder. c'est juste une supposition, mais...
- Bien le fichier avec jeton de clé publique existent dans le GAC, exactement comme décrit. Je ne comprends pas pourquoi mon application web ne peut pas le trouver.
Vous devez vous connecter pour publier un commentaire.
Il s'avère que la réponse était ridiculement simple, mais incompréhensibles pour expliquer pourquoi il était nécessaire.
Dans le Gestionnaire des services IIS sur le serveur, j'ai mis le pool d'applications pour mon application web pour ne pas permettre l'32 bits assemblées.
Il semble qu'elle assume, sur un système 64 bits, que vous devez vouloir les 32 bits de l'assemblée. Bizarre.
1) Changer votre .net profil de profil de Client pour .Net Framework 4.0
http://msdn.microsoft.com/en-us/library/bb398202.aspx
2) Vérifiez vos Incorporer les Types Interop drapeau
http://weblogs.asp.net/cazzu/archive/2011/03/11/check-your-embed-interop-types-flag-when-doing-visual-studio-extensibility-work.aspx
Concernant le système 64 bits vouloir 32-bit. Je ne trouve pas cela tellement bizarre:
Bien déployé sur un système 64 bits, cela ne signifie pas que tous les assemblys référencés sont nécessairement 64 bits Crystal Reports assemblées. De plus, les Rapports Crystal assemblées sont essentiellement des wrappers pour une collection d'héritage Dll sur lesquels ils sont fondés. De nombreux Dll 32 bits sont requis par la principalement assembly référencé. Le message d'erreur "ne peut pas charger l'assembly" implique ces Dll en tant que bien. Pour voir visuellement ce que c'est, allez à http://www.dependencywalker.com et exécuter 'Dépend' sur l'assemblée en question, directement sur ce serveur IIS.
Vous avez simplement besoin d'installer Rapport Crystal Report Moment De L'Exécution télécharge sur le Serveur de Déploiement. Si le problème persiste, puis placez vérifier asp_client dossier de votre projet dossier principal.