解决 The "GenerateResource" task failed unexpectedly. System.Runtime.InteropServices.ExternalException: GDI+ 中发生一般性错误。

在VS中编译项目时出现以下错误:

错误 1 The "GenerateResource" task failed unexpectedly.
System.Runtime.InteropServices.ExternalException: GDI+ 中发生一般性错误。
在 System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams)
在 System.Drawing.Image.Save(MemoryStream stream)
在 System.Drawing.Image.System.Runtime.Serialization.ISerializable.GetObjectData(SerializationInfo si, StreamingContext context)
在 System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter)
在 System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter)
在 System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)
在 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck)
在 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph)
在 System.Resources.ResourceWriter.WriteValue(ResourceTypeCode typeCode, Object value, BinaryWriter writer, IFormatter objFormatter)
在 System.Resources.ResourceWriter.Generate()
在 System.Resources.ResourceWriter.Dispose(Boolean disposing)
在 System.Resources.ResourceWriter.Close()
在 Microsoft.Build.Tasks.ProcessResourceFiles.WriteResources(IResourceWriter writer)
在 Microsoft.Build.Tasks.ProcessResourceFiles.WriteResources(String filename)
在 Microsoft.Build.Tasks.ProcessResourceFiles.ProcessFile(String inFile, String outFile)
在 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)
在 Microsoft.Build.Tasks.GenerateResource.Execute()
在 Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult)

解决办法:

1.注释窗体designer.cs中(控件或窗体)的图片引用代码。(一般出现问题的(控件或窗体)会出现图片撕裂的情况)

例: // this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));

2.重新为控件或窗体写入图片

3.清理项目

4.关闭VS

5.删除bin和obj文件夹

6.打开项目并重新生成

 

posted @ 2019-05-08 17:26  AKA-Green  阅读(1049)  评论(0编辑  收藏  举报