2008-08-18 15 views
5

Quando si costruisce una soluzione VS 2008 con 19 progetti a volte ottengo:Visual Studio Errore: Il compito "GenerateResource" non è riuscito inaspettatamente

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 

Di solito accade dopo VS ha funzionato per circa 4 ore; l'unico modo per ottenere correttamente la compilazione di VS è chiudere VS e avviarlo di nuovo.

Sono su una macchina con 3 GB di Ram. TaskManager mostra che il set di lavoro di devenv.exe è 578060K e l'intera allocazione di memoria per la macchina è 1.78 GB. Dovrebbe avere un ram più che sufficiente per generare le risorse.

+0

Ho incontrato lo stesso problema, la mia soluzione è pulire la build, chiudere lo studio visivo, riaprirlo e ricostruire la soluzione. – smwikipedia

+0

Possibile duplicato di [Errore di Visual Studio: l'attività "GenerateResource" non è riuscita in modo imprevisto ... Il file esiste] (http://stackoverflow.com/questions/7795926/visual-studio-error-the-generateresource-task-failed- inaspettatamente-the-fil) –

risposta

1

Suona come un insetto.

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

verso il fondo, qualcuno suggerisce di aggiungere:

<GenerateResourceNeverLockTypeAssemblies>true</GenerateResourceNeverLockTypeAssemblies>

al file di progetto. Sembra un po 'dubbioso, ma vale la pena sparare.

1

Nel caso in cui qualcun altro è alla ricerca in futuro ...

Nel mio caso, si è rivelato ho avuto un file resx danneggiato.
Avevo aumentato i miei handle GDI e l'errore di compilazione è andato via.

Ma poi quando ho provato a eseguire l'app (con il debugger), Abbiamo una schermata di login che carica la schermata principale. La schermata di accesso ha chiamato l'evento "mostra" della schermata principale ... e l'oggetto principale non è mai stato istanziato, senza alcun errore.

Ho ripristinato il file resx su uno precedente e ora tutto è a posto.

Visual Studio 2008, VB.Net, Windows 7

1

Potete per favore provate ad aggiungere questa proprietà sotto il primo PropertyGroup nel file di progetto?

<GenerateResourceNeverLockTypeAssemblies>true</GenerateResourceNeverLockTypeAssemblies> 

Fammi sapere se funziona.

+0

Ha funzionato per me :) Grazie! – nk2003dec

0

A volte ho già superato questo errore. Tutto quello che devi fare è cancellare tutti i file nel percorso obj. Dopodiché pulisci e ricostruisci la tua soluzione ed è fatta.

0

"Soluzione pulita" funziona correttamente. In alto Menu Build -> Pulisci, quindi crea, esegui il debug e pubblica tutto funziona di nuovo bene. Anche antivirus come AVAST è meglio disabilitato per pubblicare e installare senza problemi. Riattivare dopo.