2008-08-18 8 views
5

Lors de la construction d'une solution VS 2008 avec 19 projets parfois je reçois:Erreur Visual Studio: La tâche "GenerateResource" a échoué de façon inattendue

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 

se produit généralement après VS a été en cours d'exécution pendant environ 4 heures; le seul moyen de compiler VS correctement est de fermer VS et de le redémarrer.

Je suis sur une machine avec 3GB Ram. TaskManager affiche l'ensemble de travail devenv.exe à 578060K, et l'allocation de mémoire entière pour la machine est de 1,78 Go. Il devrait avoir plus de suffisamment de RAM pour générer les ressources.

+0

J'ai rencontré le même problème, ma solution est de nettoyer la construction, de fermer le studio visuel, de le rouvrir et de reconstruire la solution. – smwikipedia

+0

Duplication possible de [erreur Visual Studio: la tâche "GenerateResource" a échoué de manière inattendue ... Le fichier existe] (http://stackoverflow.com/questions/7795926/visual-studio-error-the-generateresource-task-failed- de manière inattendue-le-fil) –

Répondre

1

Sons comme un bug.

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

Vers le bas, quelqu'un suggère d'ajouter:

<GenerateResourceNeverLockTypeAssemblies>true</GenerateResourceNeverLockTypeAssemblies>

à votre dossier de projet. Cela semble un peu douteux, mais ça vaut le coup.

1

au cas où quelqu'un d'autre regarde dans l'avenir ...

Dans mon cas, j'avais tourné un fichier corrompu resx.
J'avais augmenté mes poignées de GDI et l'erreur de compilation est partie.

Mais quand j'ai essayé d'exécuter l'application (avec le débogueur), Nous avons un écran de connexion qui charge l'écran principal. L'écran de connexion a appelé l'événement "show" de l'écran principal ... et l'objet principal n'a jamais été instancié - aucune erreur n'est déclenchée.

Je suis revenu le fichier resx à un précédent et tout va bien maintenant.

Visual Studio 2008, VB.Net, Windows 7

1

Pouvez-vous s'il vous plaît essayer d'ajouter cette propriété sous le premier PropertyGroup dans votre fichier de projet? Informez-moi si cela fonctionne.

+0

Cela a fonctionné pour moi :) Merci! – nk2003dec

0

Je suis déjà passé par ces erreurs parfois. Tout ce que vous devez faire est de supprimer tous les fichiers dans le chemin obj. Après cela, nettoyez et reconstruisez votre solution et c'est fait.

0

"Solution propre" fonctionne correctement. Top Menu Build -> Nettoyer, puis construire, déboguer et publier tout le travail bien à nouveau. Aussi antivirus comme AVAST mieux désactivé pour publier et installer sans problème. Réactiver après.