Impossible de compiler vdproj avec devenv - 'targeting' x64 ' n'est pas compatible avec la plate-forme cible du projet 'x86"

J'ai cherché sur le web ces dernières heures, trouvant beaucoup d'informations liées à mon problème - mais aucune ne les corrige réellement.

Ma machine est 64 bits avec un Visual Studio 10 32 bits installé. La Solution utilise. Net 4. La Solution comprend l'installation 64 bits de Crystal Reports. Solution comprend également log4net.

La Compilation du projet dans VS2010 est OK pour le débogage et la libération, tout cpu.

J'ai ajouté un projet de configuration Web que je veux construire. Cependant, quelle que soit la configuration, j'obtiens les erreurs suivantes lors de la compilation (à la fois dans VS UI et en ligne de commande en 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 la bonne voie?

Edit-ajout d'une capture d'écran montrant que je ne peux pas choisir la plate-forme pour le projet d'installation.

entrez la description de l'image ici

26
demandé sur sonstabo 2011-08-05 16:53:51

8 réponses

Vous devez marquer le projet D'installation comme un programme d'installation 64 bits. La propriété TargetPlatform de votre projet D'installation dans la fenêtre Propriétés, remplacez-la par x86 (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 N'importe quel processeur.
Et assurez-vous que vous avez réellement besoin de votre application pour fonctionner en tant que processus 64 bits, c'est rare.

53
répondu Hans Passant 2017-05-30 14:45:45
  1. Déploiement Ouvert.vdproj, dans le bloc-notes.
  2. Trouver la chaîne "TargetPlatform" = "3:0"
  3. Changez pour "TargetPlatform" = "3: 1" pour AMD64, ou "TargetPlatform" = "3: 2" pour Itanium.
  4. Enregistrer Le Déploiement.vdproj. Dans Visual Studio, vous ne voyez aucun changement, mais votre projet maintenant AMD64.
15
répondu Jan Maslov 2012-01-18 19:17:18
  1. Ouvre un projet de déploiement.
  2. Dans l'Explorateur de solutions, sélectionnez le projet de déploiement.
  3. dans la fenêtre Propriétés, sélectionnez la propriété TargetPlatform.
  4. Choisissez Itanium pour une plate-forme 64 bits Intel Itanium ou x64 pour toute autre plate-forme 64 bits (comme les jeux D'instructions AMD64 et EM64T).
  5. au moment de l'installation, une erreur sera déclenchée et l'installation sera arrêtée si l'ordinateur cible n'est pas compatible avec plate.
6
répondu MOHAMED SAKR 2011-12-21 10:59:46
  1. Ouvre un projet de déploiement.
  2. Dans l'Explorateur de solutions, sélectionnez le projet de déploiement.
  3. dans la fenêtre Propriétés, sélectionnez la propriété TargetPlatform.
  4. Choisissez Itanium pour une plate-forme 64 bits Intel Itanium ou x64 pour toute autre plate-forme 64 bits (comme les jeux D'instructions AMD64 et EM64T).

Au moment de l'installation, une erreur sera déclenchée et l'installation sera arrêtée si l'ordinateur cible n'est pas compatible avec plate.

1
répondu Shailendra 2017-02-02 15:23:07
  1. Allez dans le menu "Affichage" de Visual Studio et cliquez sur Propriétés Windows:

entrez la description de l'image ici

  1. Sélectionnez le cadre cible x64 bit:

entrez la description de l'image ici

1
répondu Hafizur Rahman Shaik 2018-02-04 02:14:44

Vous devrez peut-être installer un service Windows x64 (pensez powershell) qui doit communiquer avec une application x86. Votre réponse (properties / TargetPlatform) m'a permis de surmonter cet obstacle.

0
répondu Mike Nahorniak 2013-04-02 14:58:28

Ceci est pour Visual Studio 2010

Allez dans votre projet > Faites un clic droit et sélectionnez Properties.

Sous compiler, allez à Advanced Compile Options

Localisez Target CPU, puis

Select x86 pour 32bit systems, x64 pour 64bit systems ou Any CPU

0
répondu Mr.J 2018-05-03 07:30:59

Mes projets. net 2010 incluent tous un projet D'installation x86 et x64. La TargetPlatform pour mes projets est N'importe quel CPU et chaque projet D'installation a la TargetPlatform spécifique au CPU. Tout cela fait partie d'un projet.net" de base "que je" clone " (copie puis édite plusieurs fichiers avec le bloc-notes) dans un nouveau projet lorsque je commence le développement. A travaillé très bien pendant des années.

J'ai rencontré cette erreur dans un nouveau projet et n'ai trouvé aucun correctif jusqu'à ce que je fasse 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

Modification les propriétés du projet > > compiler > > avancé à autre chose que N'importe quel CPU et retour semble avoir tourné l'affaire........

0
répondu jdw3rd 2018-05-31 15:25:27