Ошибка Visual Studio: непредвиденный сбой задачи GenerateResource

При создании решения VS 2008 с 19 проектами я иногда получаю:

The "GenerateResource" task failed unexpectedly.
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at System.IO.MemoryStream.set_Capacity(Int32 value)
   at System.IO.MemoryStream.EnsureCapacity(Int32 value)
   at System.IO.MemoryStream.WriteByte(Byte value)
   at System.IO.BinaryWriter.Write(Byte value)
   at System.Resources.ResourceWriter.Write7BitEncodedInt(BinaryWriter store, Int32 value)
   at System.Resources.ResourceWriter.Generate()
   at System.Resources.ResourceWriter.Dispose(Boolean disposing)
   at System.Resources.ResourceWriter.Close()
   at Microsoft.Build.Tasks.ProcessResourceFiles.WriteResources(IResourceWriter writer)
   at Microsoft.Build.Tasks.ProcessResourceFiles.WriteResources(String filename)
   at Microsoft.Build.Tasks.ProcessResourceFiles.ProcessFile(String inFile, String outFile)
   at Microsoft.Build.Tasks.ProcessResourceFiles.Run(TaskLoggingHelper log, ITaskItem[] assemblyFilesList, ArrayList inputs, ArrayList outputs, Boolean sourcePath, String language, String namespacename, String resourcesNamespace, String filename, String classname, Boolean publicClass)
   at Microsoft.Build.Tasks.GenerateResource.Execute()
   at Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult)   C:\Windows\Microsoft.NET\Framework\v3.5

Обычно происходит после того, как VS проработал около 4 часов; единственный способ заставить VS правильно скомпилироваться - закрыть VS и запустить его снова.

Я на машине с 3GB Ram. TaskManager показывает, что рабочий набор devenv.exe равен 578060 КБ, а общий объем памяти для машины составляет 1,78 ГБ. Оперативной памяти должно быть более чем достаточно для генерации ресурсов.


person Jon Dewees    schedule 18.08.2008    source источник
comment
Я столкнулся с той же проблемой, мое решение - очистить сборку, закрыть визуальную студию, снова открыть ее и заново собрать решение.   -  person smwikipedia    schedule 22.03.2011
comment
Возможный дубликат ошибки Visual Studio: ошибка Visual Studio: непредвиденный сбой задачи GenerateResource ... Файл существует   -  person Guilherme Fidelis    schedule 27.09.2016


Ответы (8)


Я использовал это время от времени с более крупными решениями. Моя тактика заключалась в том, чтобы разбить большое решение на более мелкие.

Вы также можете попробовать:

http://stevenharman.net/blog/archive/2008/04/29/hacking-visual-studio-to-use-more-than-2gigabytes-of-memory.aspx

person Kev    schedule 18.08.2008

Из https://social.msdn.microsoft.com/Forums/vstudio/en-US/5154ef26-ccfe-44d5-a322-6804b61ac774/systemoutofmemoryexception?forum=clr:

Попробуйте удалить файл .suo и снова открыть решение.

person Stu    schedule 18.08.2008

Похоже на ошибку.

http://www.codeprof.com/dev-archive/66/6-27-664019.shtm

Внизу кто-то предлагает добавить:

‹GenerateResourceNeverLockTypeAssemblies>true‹/GenerateResourceNeverLockTypeAssemblies>

в файл вашего проекта. Выглядит сомнительно, но попробовать стоит.

person Community    schedule 18.08.2008

В случае, если кто-то еще смотрит в будущем...

В моем случае оказалось, что у меня поврежден файл resx.
Я увеличил свои дескрипторы GDI, и ошибка компиляции исчезла.

Но затем, когда я попытался запустить приложение (с помощью отладчика), у нас есть экран входа в систему, который загружает главный экран. Экран входа вызвал событие «show» главного экрана... и основной объект так и не был создан - без возникновения ошибки.

Я вернул файл resx к предыдущему, и теперь все в порядке.

Visual Studio 2008, VB.Net, Windows 7

person Chris Woodruff    schedule 26.01.2011

Не могли бы вы попробовать добавить это свойство в первую группу свойств в файле проекта?

<GenerateResourceNeverLockTypeAssemblies>true</GenerateResourceNeverLockTypeAssemblies>

Дай мне знать, если это работает.

person Community    schedule 30.12.2011

Я уже проходил мимо этой ошибки иногда. Все, что вам нужно сделать, это удалить все файлы в пути obj. После этого очистите и перестройте свое решение, и все готово.

person user5686483    schedule 16.12.2015

"Чистое решение" работает нормально. Верхнее меню Build ->Clean , затем сборка, отладка и публикация снова работают нормально. Также антивирус, такой как AVAST, лучше всего отключить, чтобы публиковать и устанавливать без проблем. Повторно включить после.

person Sten Björsell    schedule 17.12.2015

TFS любит помечать файлы как «Только для чтения». удалить содержимое obj/x86

person gowtham kondari    schedule 26.10.2018