Visual Studio 2010/2008 «Исключение типа« System.OutofMemoryEception »было выдано» ошибка после нажатия формы дизайна - PullRequest
0 голосов
/ 14 октября 2011

Мой проект включает 350 форм, 780 тысяч строк кода (350 тысяч кодов дизайнера).

Но когда я хочу спроектировать форму, каждые два или три VS дизайна выдают ошибку «Исключение типа« System.OutofMemoryEception »было выдано».

Я перезапускаю проект, и эта ошибка исчезла до перестроения или открытия нескольких форм ... Я не мог работать более 5 минут ...

Я смотрю на использование памяти: devenv.exe, используя 500/600 МБ, и мою систему, используя 1,9 ГБ оперативной памяти 4 ГБ оперативной памяти Я так не думаю, но сбой VS или нет поддержки 350 форм в проекте?

Есть ли какое-либо решение о параметрах памяти VS?

Это скриншот: http://social.microsoft.com/Forums/getfile/22517/

Моя системная спецификация:

Intel Core i5 CPU
4 GB RAM
Operation system :Windows XP 32 bit (at the windows 7 problem is same)
Visual Studio 2010 Ultimate (at Visual Studio 2008 Professional SP1 problem is the same)

Стеки вызовов

at System.Reflection.AssemblyName.nGetFileInformation(String s)
at System.Reflection.AssemblyName.GetAssemblyName(String assemblyFile)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.get_AssemblyName()
at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.get_Assembly()
at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.Search(String fullName, String typeName, Boolean ignoreTypeCase, Assembly& assembly, String description)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchProjectEntries(AssemblyName assemblyName, String typeName, Boolean ignoreTypeCase, Assembly& assembly)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchEntries(AssemblyName assemblyName, String typeName, Boolean ignoreCase, Assembly& assembly, ReferenceType refType)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, ReferenceType refType)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.AggregateTypeResolutionService.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.AggregateTypeResolutionService.GetType(String name)
at System.ComponentModel.Design.Serialization.DesignerSerializationManager.GetType(String typeName)
at System.ComponentModel.Design.Serialization.DesignerSerializationManager.System.ComponentModel.Design.Serialization.IDesignerSerializationManager.GetType(String typeName)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement, CodePropertyReferenceExpression propertyReferenceEx, Boolean reportError)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)

1 Ответ

0 голосов
/ 14 октября 2011

Вы не говорите, используете ли вы 32- или 64-битную XP. Я бы рискнул предположить, что вы используете 32 и только что достигли пределов вашего ПК. В большинстве систем вы получите только 2 Гб виртуальной памяти.

В любом случае, я бы серьезно подумал о том, чтобы посмотреть на реструктуризацию вашего проекта, так как 350 WinForms кажутся мне чрезмерными. Должен быть какой-то способ уменьшить это, чтобы избежать дублирования или создать проекты библиотеки классов, в которые вы можете перенести некоторые функции.

Вы можете дать Solution Load Manager попытку пометить проекты и файлы как загружаемые по требованию, а не при запуске.

...