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

Framework .NET Discussion :

VS 2017 sur 64Bits


Sujet :

Framework .NET

  1. #1
    Membre du Club
    VS 2017 sur 64Bits
    Bonjour à tous,

    Cela fait un moment que je traine ce problème sans arriver à trouver LA solution.

    Contexte :

    J'ai un développement réalisé sur Visual Studio 2010 qui marchait très bien sur un OS serveur 32 bits. Mon développeur avait en son temps, fait le nécessaire pour qu'il fonctionne également sur un 64 bits.
    Mais depuis, nous avons du apporter des modifications sur ledit développement, et mon développeur n'étant plus dans la société, j'essaie tant bien que mal de générer l'exécutable pour un 64bits sans succès. Alors que sur un 32 bits je n'ai eu aucun problème.

    Ma dernière tentative a même été d'installer VS 2017 sur le serveur de mon client, afin que je puisse compiler le développement sans message d'erreur.
    Mais malgré tout, lors de l'installation du dev en question, cela plante me laissant sans aucune solution.

    Pour info, j'ai bien "tout" tenté en modifiant le NetFrameWork utilisé, le fait d'être en "anyCPU" ou pas ... bref ... je sèche

    Merci d'avance pour votre aide

  2. #2
    Expert éminent sénior
    l'exe compilé en AnyCpu doit fonctionner sur x86 et x64
    si ca ne compile pas tu peux vérifier si les dll de la solution sont bien sur AnyCpu aussi (si elles sont sur x86 alors ca ne peut en effet pas compiler)
    si ca compile et que le programme ne fonctionne pas sur x64 il doit y avoir un message d'erreur (dans le pire des cas dans l'observateur d'évènements windows) auquel cas ce message pourrait certainement nous en dire plus

    généralement il s'agit d'une dll 32bits, qui ne peut être utilisée sur un programme x64 (access ms jet par exemple)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre du Club
    Citation Envoyé par Pol63 Voir le message
    l'exe compilé en AnyCpu doit fonctionner sur x86 et x64
    si ca ne compile pas tu peux vérifier si les dll de la solution sont bien sur AnyCpu aussi (si elles sont sur x86 alors ca ne peut en effet pas compiler)
    si ca compile et que le programme ne fonctionne pas sur x64 il doit y avoir un message d'erreur (dans le pire des cas dans l'observateur d'évènements windows) auquel cas ce message pourrait certainement nous en dire plus

    généralement il s'agit d'une dll 32bits, qui ne peut être utilisée sur un programme x64 (access ms jet par exemple)
    Mon pbm est que je suis bloqué dès l'installation. Elle ne va pas au bout avec un message d'erreur bloquant qui va jusqu'à me fermer la fenêtre d'installation.
    Pour autant je vois l'application dans les programmes à désinstaller alors qu'il ne fonctionne pas.

    Et pour finir, j'ai bien un message d'erreur dans l'observateur d'événement windows lors de la tentative d'installation.
    Si jamais ça te parle ...

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
     
    Application*: PLYM_TRANS_STOCK.exe
    Version du Framework*: v4.0.30319
    Description : le processus a été arrêté en raison d'une exception non gérée.
    Informations sur l'exception*: System.Runtime.InteropServices.COMException
    à PLYM_TRANS_STOCK.DEMARRAGE..ctor()

    Informations sur l'exception*: System.InvalidOperationException
    à PLYM_TRANS_STOCK.My.MyProject+MyForms.Create__Instance__[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.__Canon)
    à PLYM_TRANS_STOCK.My.MyProject+MyForms.get_DEMARRAGE()
    à PLYM_TRANS_STOCK.DEMARRAGE.Main()

  4. #4
    Expert éminent sénior
    qu'y a t il dans les références du projets ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre du Club
    Citation Envoyé par Pol63 Voir le message
    qu'y a t il dans les références du projets ?
    Après plus de 6 mois de galère (bon jte rassure pas à temps plein), je crois que j'ai trouvé.
    il semblerait qu'effectivement j'ai une dll qui ne supporte pas le 64bits. Grâce à tes demandes sur l'observateur d'événements, je me suis rendu compte un peu plus précisément d'où venait le souci.

    Avec la copie que je t'ai faite, j'ai vu qu'il s'agissait d'une exception sur la référence COM que j'utilise.

    J'ai fait quelques modifs et tests et cela fonctionne. Enfin il faut que je valide le tout avec mon client, mais je suis au moins arrivé au bout de l'installation sans message d'erreur.

    Merci de ton aide ... du moins de tes pistes.

  6. #6
    Expert éminent sénior
    Sinon en mettant x86 à la place d'anycpu sur l'exe ca devrait fonctionner en x86 sur les os x64
    c'est souvent la solution quand on a une dll 32bits et qu'elle n'existe pas en 64
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre du Club
    Pour régler mon souci, j'ai tout simplement (si je puis dire) créer une VM en 64Bits, installer Visual Studio 2017 64Bits (ce qui a bien évidemment nécessité un petit investissement chez MS), puis travailler mon projet depuis cette VM.
    A partir de là, j'ai pu régler mes soucis de compilation et de déploiement en 64bits.

    Une bonne chose de faite.

    Merci pour votre aide