Ces dernières heures, je cherchais sur le Web, à la recherche de nombreuses informations relatives à mon problème, mais aucune d’elles ne les corrige réellement.
Ma machine est en 64 bits avec Visual Studio 10 32 bits installé. La solution utilise .Net 4. La solution inclut l’installation de Crystal Reports 64 bits. La solution inclut également log4net.
La compilation du projet dans VS2010 est acceptable pour Debug et Release, tous les processeurs.
J'ai ajouté un projet d'installation Web que je veux créer. Cependant, quelle que soit la configuration, les erreurs suivantes sont générées lors de la compilation (tant dans VS UI que sur la ligne de commande utilisant devenv.exe):
ERROR: File 'CrystalDecisions.ReportAppServer.Prompting.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'CrystalDecisions.ReportAppServer.Prompting.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
ERROR: File 'CrystalDecisions.ReportAppServer.ObjectFactory.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'CrystalDecisions.ReportAppServer.ObjectFactory.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
ERROR: File 'CrystalDecisions.ReportAppServer.XmlSerialize.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'CrystalDecisions.ReportAppServer.XmlSerialize.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
ERROR: File 'CrystalDecisions.ReportAppServer.CommonObjectModel.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'CrystalDecisions.ReportAppServer.CommonObjectModel.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
ERROR: File 'CrystalDecisions.ReportAppServer.CommonControls.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'CrystalDecisions.ReportAppServer.CommonControls.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
ERROR: File 'CrystalDecisions.ReportAppServer.ReportDefModel.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'CrystalDecisions.ReportAppServer.ReportDefModel.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
ERROR: File 'log4net.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'log4net.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
ERROR: File 'CrystalDecisions.ReportAppServer.Controllers.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'CrystalDecisions.ReportAppServer.Controllers.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
ERROR: File 'CrystalDecisions.ReportAppServer.DataDefModel.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'CrystalDecisions.ReportAppServer.DataDefModel.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
ERROR: File 'CrystalDecisions.ReportAppServer.CubeDefModel.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'CrystalDecisions.ReportAppServer.CubeDefModel.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
ERROR: File 'CrystalDecisions.ReportAppServer.ClientDoc.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'CrystalDecisions.ReportAppServer.ClientDoc.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
ERROR: File 'CrystalDecisions.ReportAppServer.CommLayer.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'CrystalDecisions.ReportAppServer.CommLayer.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
J'ai essayé de définir explicitement la configuration des projets sur x86 et x64, sans aucune modification.
Quelqu'un peut-il me guider sur le bon chemin?
Edit - ajout d'une capture d'écran montrant que je suis incapable de choisir la plate-forme pour le projet d'installation.
Vous devez marquer le projet d'installation en tant qu'installateur 64 bits. La propriété TargetPlatform
de votre projet d'installation dans la fenêtre Propriétés, remplacez-la de x86 (valeur par défaut) par x64.
Assurez-vous également de déployer la version 64 bits de log4net et que le paramètre TargetPlatform
de votre projet C # est Tout processeur.
Et assurez-vous que vous avez réellement besoin votre application à exécuter en tant que processus 64 bits, ce qui est rare.
Lors de l'installation, une erreur est générée et l'installation est interrompue si l'ordinateur cible n'est pas compatible avec la plate-forme spécifiée.
Vous aurez peut-être besoin d'un service Windows x64 installé (think powershell) devant communiquer avec une application x86. Votre réponse (propriétés/TargetPlatform) m'a permis de surmonter cet obstacle.
Ceci est pour Visual Studio 2010
Accédez à votre projet> clic droit et sélectionnez Properties
.
Sous Compiler, accédez à Advanced Compile Options
Localisez Target CPU
, puis soit
sélectionnez x86
pour 32bit systems
, x64
pour 64bit systems
ou Any CPU
Mes projets .net 2010 incluent tous un projet d'installation x86 et x64. TargetPlatform pour mes projets est N'importe quel processeur et chaque projet d'installation a le bon - Spécifique CPU - TargetPlatform. Tout cela fait partie d'un "projet de base" .Net que je "clone" (copier puis éditer plusieurs fichiers avec NOTEPAD) dans un nouveau projet lorsque je commence le développement. A bien travaillé pendant des années.
J'ai rencontré cette erreur dans un nouveau projet et je n'ai trouvé aucune solution tant que je n'ai pas fait ce qui suit:
- Open Project Properties >> Compile >> Advanced and set Target to x86
- "Build" x86 Setup Project
- Build Success
- Changed Project Properties >> Compile >> Advanced Target to x64
- "Build" x64 Setup Project
- Build Success
- Changed Project Properties >> Compile >> Advanced Target to Any CPU
- Build x86 Setup Project
- Build Success
- Build x64 Setup Project
- Build Success
Changer les propriétés du projet >> Compiler >> Avancé pour autre chose que N'importe quel processeur et inversement semble avoir tourné l'astuce ........