IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Application C# 32 bits compatible sur 64 bits


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 120
    Points : 48
    Points
    48
    Par défaut Application C# 32 bits compatible sur 64 bits
    Bonjour à tous,

    J'ai développé une application (qui génère une DLL) en C#. Cette application fonctionne parfaitement sur 32 bits mais dès que je la lance sur une machine 64 bits, j'ai des erreurs (l'application compile correctement mais génère des erreurs que je n'ai pas sur 32 bits).

    Si quelqu'un a une idée sur la ou les raisons de ce problème, je suis preneur.

    Merci de votre aide à tous

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Elle fait quoi en gros ton application ?
    Quelles erreurs ?
    pure C# ou C# avec des langages natifs ou mixtes genre C++/Delphi/VB ?

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    par défaut une appli .net n'est ni 32 ni 64 bits, mais les 2
    une fois exécutée, elle se compile en 32 ou 64 bits selon si la machine permet de le 64 ou pas

    il est possible de forcer un paramètre dans les propriétés de compilation du projets (passer de "AnyCpu" à 32 ou 64)


    par contre je ne vois pas pourquoi l'appli ne fonctionnerait pas de la meme manière sur une machine 64bits
    donc voir avec ce que demande smyley
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 120
    Points : 48
    Points
    48
    Par défaut
    L'application est basée sur des dll du framework (System.data, mscorlib, etc.). Le projet C# utilise aussi des dll issues d'un programme spécifique afin d'en utiliser les API (...DllImport[dscf.dll]...)

  5. #5
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par alliance Voir le message
    Le projet C# utilise aussi des dll issues d'un programme spécifique afin d'en utiliser les API (...DllImport[dscf.dll]...)
    Je suis sur que le problème vient de là. Pourquoi ? parce qu'une application qui démarre en 64bits ne peut pas charger une dll 32bits directement, et sur un système 64bits une application C# démarre par défaut en 64bits. Plusieurs "solutions" dans ce cas :
    - Ne plus utiliser les dlls natives directement mais créer un wrapper via un composant COM codé en C++ (je ne sais pas si c'est réalisable dans ton cas, mais ça reste fastidieux)
    - Obliger le programme à démarrer en 32bits (doit se faire en changeant AnyCPU en x86)
    - Utiliser une version 64bits des dlls si le système est un x64
    -...
    En gros c'est ça ...

Discussions similaires

  1. Virtual Box exécute 64-bit guests sur 32-bit host?
    Par chercheur111 dans le forum VirtualBox
    Réponses: 12
    Dernier message: 19/06/2014, 22h18
  2. modeleur 64 bits compatible moteur 32 bits
    Par Asmod_D dans le forum Moteurs de jeux vidéo
    Réponses: 2
    Dernier message: 07/05/2011, 12h27
  3. application qui ne marche pas sur ordi 64 bits
    Par machuca dans le forum VB.NET
    Réponses: 11
    Dernier message: 13/12/2010, 15h40
  4. Réel sur 80 bits...
    Par julson dans le forum Assembleur
    Réponses: 12
    Dernier message: 17/05/2004, 16h37
  5. opérations sur les bits d'un byte
    Par petitours dans le forum C++Builder
    Réponses: 4
    Dernier message: 10/02/2004, 20h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo