Visual Studio Error: The "GenerateResource" task failed unexpectedly

18,513

Solution 1

I used to hit this now and again with larger solutions. My tactic was to break the larger solution down into smaller solutions.

You could also try:

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

Solution 2

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

Try deleting the .suo file and re-opening the solution.

Solution 3

In case someone else is looking in the future...

In my case, turned out I had a corrupted resx file.
I had increased my GDI handles and the compile error went away.

But then when I tried to run the app (with the debugger), We have a login screen that loads the main screen. The login screen called the main screen's "show" event... and the main object never got instantiated - with no error's being raised.

I reverted the resx file to a previous one and everything is fine now.

Visual Studio 2008, VB.Net, Windows 7

Share:
18,513
Jon Dewees
Author by

Jon Dewees

I spend most of my daylight hours helping nuns, orphans and widows cross the street. I often provide relief work to the sheep herders in the Navarre region of Spain. Sometimes I lend my talents to the leaders of the middle east to broker peace deals, but my diplomacy is best used negotiating free trade agreements between Cuba and Lesotho. During the night I patrol the bustling metropolises of the north-western hemisphere keeping them safe from zombies. The remaining momentsof the day are used to rewrite a .NET garbage collector using WATFOR

Updated on June 05, 2022

Comments

  • Jon Dewees
    Jon Dewees about 2 years

    When building a VS 2008 solution with 19 projects I sometimes get:

    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
    

    Usually happens after VS has been running for about 4 hours; the only way to get VS to compile properly is to close out VS, and start it again.

    I'm on a machine with 3GB Ram. TaskManager shows the devenv.exe working set to be 578060K, and the entire memory allocation for the machine is 1.78GB. It should have more than enough ram to generate the resources.