Page 1 sur 2

[Corrigé 5.9.65.5752] Bibliothèque Powerpack - Erreur "l'énumération peut ne pas s'exécuter"

Posté : 20 août 2015, 18:47
par benji791
Bonjour,

J'ai un souci dès que je valide une opération courante (aussi bien une opération existante qu'une opération nouvelle).
Mais pour autant la création ou les modifications sont bien prises en compte.
Image

J'ai tenté de mettre à jour avec la version intermédiaire et malheureusement, l'erreur est toujours là.

Benjamin

Re: [Bug]La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.

Posté : 20 août 2015, 20:29
par Jacques Leblond
Bonsoir,

Quelle est ta version de Windows ?
Ce message est apparu après quelle évolution, installation sur ton PC ?

L'anomalie semble liée à la bibliothèque PowerPack (qui gère les lignes de séparation dans le formulaire) lors de la destruction du formulaire afin de libérer la mémoire. C'est une bibliothèque de Microsoft.

PS : la gestion des données n'est pas impactée car c'est la dernière étape du processus de validation/fermeture du formulaire, je ne fais plus rien après.

Re: [Bug]La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.

Posté : 20 août 2015, 22:09
par benji791
Bonjour,

Je suis sous Windows 7 pro x64 et je fais mes mises à jour au fil de l'eau.
J'avoue que ca faisait un moment que je n'avait pas utilisé gesfine (congés oblige :) ). Et là première opération que j'ai fait en recevant mon avis d'imposition a été de mettre à jour l'opération périodique de prélèvement. Et hop ca a planté quand j'ai validé. Depuis ca me fait ca sur toutes les opérations.
Il me semble que je n'avais pas eu ce genre d'erreur lors des dernières utilisations.

J'ai regardé mon historique Windows update et je ne vois rien de suspect.

Benjamin.

Re: [Bug]La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.

Posté : 21 août 2015, 00:16
par Jacques Leblond
Je suis aussi sous Windows 7 64, mise à jour effectuée, et je n'ai pas l'erreur. Le problème a très certainement une cause externe au code de GesFine, ton cas est particulier car c'est probablement le formulaire le plus utilisé, et à ce jour et tu sembles le seul à être confronté au bogue.
Quelle version de framework est installée sur ton PC . Chez moi j'ai la 4.5 et 4.5.2, pas de version plus ancienne.
La version retournée par Gesfine dans le formulaire "A propos" est 4.0.30319.34209, et toi ?

Sinon par précaution, ferme ton antivirus durant l'installation et l'utilisation de GesFine, on ne sait jamais ...

La bibliothèque dans laquelle se produit l'erreur est le fichier : Microsoft.VisualBasic.PowerPacks.Vs.dll, supprime là et après réinstallation assure toi qu'elle a bien été recréée.

Re: [Bug]La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.

Posté : 24 août 2015, 18:26
par benji791
Bonjour,

Désolé d'avoir mis un peu de temps à répondre. J'ai eu un déplacement imprévu.
Donc dans à propos, Gesfine indique : 4.0.30319.18063

J'ai noté que j'avais plusieurs instance de Microsoft.VisualBasic.PowerPacks.Vs.dll sur mon pc dont une version plus ancienne (10.0.40219.1) liée à un logiciel que j'ai installé il y a peu. Gesfine possède la version 11.0.50727.1 dans son répertoire d'installation.
Les deux instances de version plus ancienne se trouvent dans :
\AppData\Local\Apps\2.0\HCERT22H.G88\9DGOHWTX.4ND\micr..s.vs_b03f5f7f11d50a3a_000a.0000_none_450b125ef9090a2e
et
\AppData\Local\Apps\2.0\HCERT22H.G88\9DGOHWTX.4ND\psd_..tion_f898a0f76b9d5c2f_0001.0000_0596e452706b3596

Je ne vois pas bien pourquoi Gesfine irait chercher là dedans.
Arf, grace à Process Explorer, je viens de comprendre. C'est désormais la version 10.0.40219.1 qui est installée dans le GAC
Bon, faut que je réinstalle un SDK pour avoir gacutil et remettre ca dans l'ordre

Benjamin

Re: [Bug]La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.

Posté : 24 août 2015, 19:08
par Jacques Leblond
Bonsoir,
Merci pour ta réponse.
Sauf erreur (je ne suis pas spécialiste du sujet), Gesfine ne devrait pas aller chercher la bibliothèque dans le GAC puisqu'elle est dans le répertoire de GesFine.
Sauf qu'elle n'est pas directement avec la dll qui la référence (le Module "Livre de comptes" MainAcountBook.dll) mais à la racine de l'installation.
C'est peut être pour cela que le GAC est utilisé, et cela pose problème chez toi car ta version dans le GAC est plus ancienne.

Re: [Bug]La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.

Posté : 24 août 2015, 21:06
par benji791
Bonsoir,

non je viens de faire le test en collant la dll dans le répertoire de MainAcountBook et ca ne donne rien.
Donc je pense que c'est au niveau de tes références qu'il faut que tu précises que la dll est embarquée dans le projet (vieux souvenir et rien sous la main pour étayer mes dires)
Bon j'ai tenté de supprimer et réinstaller, forcément, le gac n'est pas mis à jour. Il va donc falloir que j'installe un sdk avec gacutil pour faire la mise à jour manuellement à moins que tu ne fasses une mise à jour avec le lien vers la dll inclus dans le projet.

Benjamin

Re: [Bug]La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.

Posté : 25 août 2015, 01:09
par Jacques Leblond
J'ai publié une version intermédiaire qui a modifié une propriété de la référence. Peux tu essayer si il y a des changements avec cette version ?

Sinon j'ai commencé à me documenter pour contourner le GAC afin de cibler une version particulière d'une dll mais cela ne me semble pas judicieux à faire, notamment pour la maintenance (ou alors je ne suis pas sur la bonne piste pour traiter ce type de problème).

Re: [Bug]La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.

Posté : 25 août 2015, 09:40
par benji791
Ok, je regarde ce soir en rentrant du boulot

Re: [Bug]La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.

Posté : 25 août 2015, 18:35
par benji791
Hello,

Bon je viens de faire le test et malheureusement ca pointe toujours sur la version du GAC (vérifié avec ProcessExplorer)

Benjamin

Re: [Bug]La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.

Posté : 25 août 2015, 22:51
par Jacques Leblond
J'ai référencé une copie local de la dll, mais c'est sans conviction. Tu peux toujours essayer avec la dernière version intermédiaire.

Re: [Bug]La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.

Posté : 26 août 2015, 01:56
par benji791
Effectivement ca n'a malheureusement pas marché.
Bon ca a l'air un peu tordu cette histoire :
http://stackoverflow.com/questions/1606 ... om-the-gac
https://msdn.microsoft.com/en-us/librar ... S.80).aspx
https://msdn.microsoft.com/en-us/librar ... .100).aspx

Là je suis une peu fatigué, je regarderais à tête reposée si je trouve un idée...

Re: [Bibliothèque Powerpack] Message d'erreur "l'opération d'énumération peut ne pas s'exécuter"

Posté : 26 août 2015, 04:02
par Jacques Leblond
Je comprend que l'une des méthodes est de supprimer la signature de la dll pour forcer sont utilisation locale.
Ce n'est pas possible avec la signature actuelle des fichiers de GesFine.

Concernant les liens msdn, cela me parait lourd et peu maintenable de lister les versions (que je ne connais pas) dans les fichiers de configuration.

Sinon pourquoi ton application tiers a-t-elle besoin de mettre cette dll dans le GAC ? Cela impose probablement d'y gérer toutes les versions utilisées par tes applications (donc celle de GesFine). A priori, ce n'est pas une bonne pratique pour une bibliothèque de ce type (de ce que j'ai pu lire).

Re: [Bibliothèque Powerpack] Message d'erreur "l'opération d'énumération peut ne pas s'exécuter"

Posté : 01 septembre 2015, 20:53
par benji791
Bonjour,

L'application en question n'est malheureusement plus maintenue (pas de version depuis 2 ans). Je ne sais pas bien pourquoi elle a besoin d'installer dans le GAC cette librairie.
Et la gestion du GAC a terriblement changé depuis l'époque ou je développais encore. Du coup je suis à cours d'idée.
Pourtant quand je lis cet article, je ne vois pas pourquoi on pourrait pas spécifier directement dans le fichier de config de l'appli le binding qui va bien. Normalement, tu ne devrais pas avoir besoin de changer la version de la dll tous les 4 matins.
https://msdn.microsoft.com/en-us/library/7wd6ex19.aspx

Par contre, je viens d'installer la dernière version de gesfine et il y a du neuf on dirait. Je ne vois plus avec process explorer le chargement de la dll Microsoft.VisualBasic.PowerPacks.Vs mais uniquement Microsoft.VisualBasic et là gesfine va chercher dans Windows Assembly NativeImages.

Benjamin

Re: [Bibliothèque Powerpack] Message d'erreur "l'opération d'énumération peut ne pas s'exécuter"

Posté : 01 septembre 2015, 20:58
par Jacques Leblond
Bonsoir,
benji791 a écrit :Par contre, je viens d'installer la dernière version de gesfine et il y a du neuf on dirait. Je ne vois plus avec process explorer le chargement de la dll Microsoft.VisualBasic.PowerPacks.Vs mais uniquement Microsoft.VisualBasic et là gesfine va chercher dans Windows Assembly NativeImages.
Et le problème est résolu ou pas ?

Re: [Bibliothèque Powerpack] Message d'erreur "l'opération d'énumération peut ne pas s'exécuter"

Posté : 01 septembre 2015, 21:07
par benji791
Et non malheureusement

Re: [Bibliothèque Powerpack] Message d'erreur "l'opération d'énumération peut ne pas s'exécuter"

Posté : 01 septembre 2015, 21:10
par ATYO
Bonsoir,
J'ai le même problème :
Image

Cela me l'a fait sur l'ancienne version et je l'ai aussi sur la nouvelle version installée aujourd'hui!

Edit : Windows 7 64 bit a jour
Edit 2 : malgré une réparation du framework 4.5.2 même erreur

Re: [Bibliothèque Powerpack] Message d'erreur "l'opération d'énumération peut ne pas s'exécuter"

Posté : 02 septembre 2015, 00:41
par Jacques Leblond
Pouvez-vous tester la dernière version intermédiaire ?

Re: [Bibliothèque Powerpack] Message d'erreur "l'opération d'énumération peut ne pas s'exécuter"

Posté : 02 septembre 2015, 06:15
par ATYO
Bonjour,
Cette version me donne encore la même erreur.

Re: [Bibliothèque Powerpack] Message d'erreur "l'opération d'énumération peut ne pas s'exécuter"

Posté : 02 septembre 2015, 10:13
par Jacques Leblond
Alors ça se complique. J'ai effectué un BindingDirect dans le fichier de configuration (app.config) de GesFine comme indiqué dans le lien Microsoft cité précédemment.
Ne sachant pas vraiment quoi mettre comme versions, j'ai mis :

Code : Tout sélectionner

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.VisualBasic.PowerPacks.Vs"
          publicKeyToken="b03f5f7f11d50a3a"
          culture="neutral" />
        <bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.50727.1" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
en sachant que le fichier 11.0.50727.1 est aussi associé à la version majeure 10.0.0.0 lors de son référencement sous Visual Studio