7

社内の winforms アプリケーションを VS2008 から VS2012 プロジェクトに変換して以来、winforms デザイナーの使用に問題があります。

デザイナーがエラー状態になり、次のエラー メッセージが表示されることがあります。

「コレクションが変更されました。列挙操作が実行されない可能性があります。」コールスタックは次のように言っています:

Instances of this error (1)  

1.   Hide Call Stack 

at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
at System.Collections.Generic.List`1.Enumerator.MoveNext()
at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblySpecFound(List`1 assemblies, String assemblyFullName)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.AddDependencies(Assembly a, String fileName)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.get_Assembly()
at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchByShortName(String partialName, String fullName, AssemblyEntry[] entries, Assembly& assembly)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchNormalEntries(AssemblyName assemblyName, String typeName, Boolean ignoreTypeCase, Assembly& assembly, Boolean fastSearch)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchEntries(AssemblyName assemblyName, String typeName, Boolean ignoreCase, Assembly& assembly, ReferenceType refType)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchEntries(AssemblyName assemblyName, String typeName, Boolean ignoreTypeCase, Assembly& assembly)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.System.ComponentModel.Design.ITypeResolutionService.GetAssembly(AssemblyName name, Boolean throwOnError)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.System.ComponentModel.Design.ITypeResolutionService.GetAssembly(AssemblyName name)
at Microsoft.VisualStudio.Design.VSDynamicTypeService.OnAssemblyResolve(Object sender, ResolveEventArgs e)
at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)  

おそらくいくつかの無効なアセンブリが原因で、デザイナーが参照されているアセンブリのリストを変更しようとしているようです。この問題を解決しようとしているときに、[プロジェクト] -> [プロパティ] -> [セキュリティ] の下にある [ClickOnce セキュリティを有効にする] オプションを変更すると、デザイナーが作業に戻ることができることがわかりました。しかし、オプションがオンになっていて、デザイナーのエラーが発生した場合、それをオフにして再構築すると、時々問題を解決できます。…というわけで、今ちょっと迷っています。

4

2 に答える 2

1

一般的な Visual Studio 2012 のバグのようです。

マイクロソフトからの公式メールはこちら

Microsoft Connect からこんにちは。

この通知は、フィードバック アイテムに対して生成されました: VS2012 WinForms Designer はもう動作しません - エラー: コレクションが変更されました。Microsoft Connect サイトで送信した列挙操作が実行されない場合があります。

ご意見ありがとうございます。このバグは、ここで報告されたバグの複製です: http://connect.microsoft.com/VisualStudio/feedback/details/781193/form-designer-error-collection-was-modified-enumeration-operation-may-not-executethere 今後の更新については、その問題 (781193) を監視してください。回避策はありませんが、Visual Studio の次のリリースでこの問題を修正しています。

于 2013-05-29T06:24:53.360 に答える