2010-09-20 3 views
1

Je reçois cette erreur lorsque je déploie une application VB.NET et pour la vie de moi, je ne peux pas comprendre pourquoi."La collection a été modifiée, l'opération d'énumération peut ne pas s'exécuter" erreur sur le déploiement

Je ne reçois pas cette erreur lorsque j'exécute l'application à partir de l'IDE et que la machine de test que je la déploie a une configuration similaire à la machine dev ... Windows 7 & .NET 3.51 SP1 et 4.0.

L'application bombe lorsque le formulaire principal est chargé après la connexion. Je l'ai réduit à la forme principale, car si je charge un autre formulaire à partir de la connexion, puis ouvrez le formulaire principal, cela se produit.

Ci-dessous est une capture d'écran de la trace de la pile.

Des idées? Je suis vraiment perdu ici.

Merci.

alt text

Répondre

1

Je ne vois pas un moyen pour ShapeCollection.Dispose() pour lancer cette exception. Bien qu'il soit manipulait une liste <> qui peut en effet lancer cette exception, le code ne doit pas déclencher:

private void Dispose(bool disposing) 
{ 
    if (!this.m_Disposed && disposing) 
    { 
     for (int i = this.m_Shapes.Count - 1; i >= 0; i--) 
     { 
      this.m_Shapes[i].Dispose(); 
     } 
     this.m_Shapes.Clear(); 
     this.m_Shapes = null; 
    } 
    this.m_Disposed = true; 
} 

Eh bien, cela est de la version PowerPack que j'ai. Il y en a eu quelques versions flottantes, elles étaient distribuées séparément. Assurez-vous de ne pas déployer accidentellement une ancienne version.

+0

Oh, hey Hans. Vous pensez que ce sont les PowerPacks qui provoquent cette erreur? – Tom

+0

C'était les PowerPacks. J'ai des formes rectangle sur certains de mes formulaires et quand je les ai supprimés et la référence aux PowerPacks l'application fonctionne bien. Très ennuyé que quelque chose d'aussi simple qu'une forme puisse tant gâcher les choses et que je doive changer le design de l'application pour contourner ce problème mais peu importe, le temps est essentiel et je ne veux plus perdre de temps sur les lignes et des rectangles. – Tom

Questions connexes