“集合已修改;枚举操作可能无法执行”部署时出错

时间:2010-09-20 13:22:30

标签: vb.net

我在部署VB.NET应用程序时遇到此错误,而在我的生活中,我无法弄清楚原因。

当我从IDE运行应用程序并且我正在部署它的测试机器具有与开发机器类似的配置时,我没有收到此错误... Windows 7& .NET 3.51 SP1和4.0。

当登录后加载主表单时,应用程序会弹出。我已将其缩小到主表单,因为如果我从登录中加载另一个表单然后打开主表单,则会发生这种情况。

下面的链接是堆栈跟踪的屏幕截图。

有什么想法吗?我真的迷失在这里。

感谢。

alt text

1 个答案:

答案 0 :(得分:1)

我没有看到ShapeCollection.Dispose()抛出该异常的方法。虽然它正在操纵List<>这确实可以抛出异常,代码不应该触发它:

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;
}

嗯,这是来自我的PowerPacks版本。有几个版本的浮动,它曾经分开分发。确保您没有意外部署旧版本。