Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
J'ai construit une .Net assembly en PB que je souhaite utiliser en Visual C#
Mais j'ai l'erreur suivante lorsque j'exécute le programme Visual C#
Impossible de charger le type 'ClassFromPB.nvo_mailslot' à partir de l'assembly 'MailSlot, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null'.
Il semblerait que PB ne copie pas les fichiers générés lors du déploiement du composant PB en assembly vers le PowerBuilder .NET Runtine comme il devrait le faire lorsque l'on lance l'application sous Visual C#.
Il est vrai que j'ai du créé la variable d'environnement PBNET_HOME alors que cette variable aurait du être créée par défaut pas PB.
Quelqu'un a déjà t'il été confronté à ce problème ?
Dernière modification par Dadone (16-09-2013 07:52:34)
Hors ligne
Je me suis rendu compte que PowerBuilder utilisait la version 2 du Framework .Net pour générer mon assembly, aors qu'il devrait utilisait la version 4.
Dans le path system c'est bien la version 4 qui est spécifié et non la version 2.
Il y a donc un composant qui fait que PowerBuilder utilise la mauvaise version du compilateur C#.
Une idée de ce composant : fichier de config ? , base de registre ?, ...?
Hors ligne
Pas grand monde qui fait du PB.Net on dirait...
Hors ligne
Je ne peux que confirmer.
Hors ligne
Le problème venait en fait de la version du Framework.
Je compilais mon assembly avec une version 4 alors qu'en PB 12 la compatibilité s'arrête en 3.5.
Donc dans Visual Studio en passant en 3.5 cela fonctionne.
Mais, encore mieux, de manière a ne pas dépendre de la version du Framework, on peut modifier le fichier de configuration du projet en ajoutant
<startup useLegacyV2RuntimeActivationPolicy="true">
Dernière modification par Dadone (16-09-2013 15:35:25)
Hors ligne