C# 属性值无效-GDI+;
我正在尝试运行一个有10年历史的C#Visual Studio项目 由于某些原因,我无法删除或编辑表单中的任何图像 如果在使用视图设计器时尝试编辑PictureBox的图像属性,则会出现“属性值无效”错误。详细信息框显示“GDI+中发生一般错误” 即使更改PictureBox的大小也会触发相同的错误 虽然它没有那么重要,但下面是表单的代码。在我看来,这只是视图设计器自动生成的代码:C# 属性值无效-GDI+;,c#,visual-studio,visual-studio-2010,gdi+,picturebox,C#,Visual Studio,Visual Studio 2010,Gdi+,Picturebox,我正在尝试运行一个有10年历史的C#Visual Studio项目 由于某些原因,我无法删除或编辑表单中的任何图像 如果在使用视图设计器时尝试编辑PictureBox的图像属性,则会出现“属性值无效”错误。详细信息框显示“GDI+中发生一般错误” 即使更改PictureBox的大小也会触发相同的错误 虽然它没有那么重要,但下面是表单的代码。在我看来,这只是视图设计器自动生成的代码: using System; using System.Drawing; using System.Collecti
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Threading;
namespace AppCliente.Vista
{
public class frmLogin : System.Windows.Forms.Form
{
private System.Windows.Forms.PictureBox picLogin;
private System.ComponentModel.Container components = null;
private frmLogin()
{
InitializeComponent();
}
private void InitializeComponent()
{
this.picLogin = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.picLogin)).BeginInit();
this.SuspendLayout();
// picLogin
//
this.picLogin.Location = new System.Drawing.Point(-1, -3);
this.picLogin.Name = "picLogin";
this.picLogin.Size = new System.Drawing.Size(264, 48);
this.picLogin.TabIndex = 5;
this.picLogin.TabStop = false;
this.picLogin.Click += new System.EventHandler(this.picLogin_Click);
this.Controls.Add(this.picLogin);
((System.ComponentModel.ISupportInitialize)(this.picLogin)).EndInit();
}
private void picLogin_Click(object sender, EventArgs e)
{
}
}
}
这可能是什么原因造成的
如果它有任何用处,那么如果我试图编译该项目,就会出现以下错误:
The "GenerateResource" task failed unexpectedly.
System.Runtime.InteropServices.ExternalException (0x80004005): A generic error occurred in GDI+.
at System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams)
at System.Drawing.Image.Save(MemoryStream stream)
at System.Drawing.Image.System.Runtime.Serialization.ISerializable.GetObjectData(SerializationInfo si, StreamingContext context)
at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter, SerializationBinder binder)
at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter, SerializationBinder binder)
at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph)
at System.Resources.ResourceWriter.WriteValue(ResourceTypeCode typeCode, Object value, BinaryWriter writer, IFormatter objFormatter)
at System.Resources.ResourceWriter.Generate()
at System.Resources.ResourceWriter.Dispose(Boolean disposing)
at System.Resources.ResourceWriter.Close()
at Microsoft.Build.Tasks.ProcessResourceFiles.WriteResources(ReaderInfo reader, IResourceWriter writer)
at Microsoft.Build.Tasks.ProcessResourceFiles.WriteResources(ReaderInfo reader, String filename)
at Microsoft.Build.Tasks.ProcessResourceFiles.ProcessFile(String inFile, String outFileOrDir)
at Microsoft.Build.Tasks.ProcessResourceFiles.Run(TaskLoggingHelper log, ITaskItem[] assemblyFilesList, List`1 inputs, List`1 outputs, Boolean sourcePath, String language, String namespacename, String resourcesNamespace, String filename, String classname, Boolean publicClass, Boolean extractingResWFiles, String resWOutputDirectory)
at Microsoft.Build.Tasks.ProcessResourceFiles.Run(TaskLoggingHelper log, ITaskItem[] assemblyFilesList, List`1 inputs, List`1 outputs, Boolean sourcePath, String language, String namespacename, String resourcesNamespace, String filename, String classname, Boolean publicClass, Boolean extractingResWFiles, String resWOutputDirectory)
at Microsoft.Build.Tasks.GenerateResource.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() AppCliente
“GenerateResource”任务意外失败。
System.Runtime.InteropServices.ExternalException(0x80004005):GDI+中发生一般错误。
在System.Drawing.Image.Save(Stream、ImageCodeInfo编码器、EncoderParameters encoderParams)
位于System.Drawing.Image.Save(内存流)
位于System.Drawing.Image.System.Runtime.Serialization.ISerializable.GetObjectData(SerializationInfo si,StreamingContext上下文)
在System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(对象对象对象、ISurrogateSelector代理选择器、StreamingContext上下文、SeroObjectInfo初始化SeroObjectInfo初始化、IFormatterConverter转换器、ObjectWriter ObjectWriter、SerializationBinder绑定器)
在System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serializate(对象对象obj、ISurrogateSelector代理选择器、StreamingContext上下文、SeroObjectInfoinit SeroObjectInfoinit、IFormatterConverter转换器、ObjectWriter ObjectWriter、SerializationBinder binder)
在System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serializate(对象图,头[]inHeaders,\uu BinaryWriter serWriter,布尔fCheck)
在System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serializate(流序列化流,对象图,头[]头,布尔fCheck)
在System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serializate(流序列化流,对象图)
位于System.Resources.ResourceWriter.WriteValue(ResourceTypeCode类型代码、对象值、BinaryWriter writer、IFormatter objFormatter)
在System.Resources.ResourceWriter.Generate()中
位于System.Resources.ResourceWriter.Dispose(布尔disposing)
在System.Resources.ResourceWriter.Close()中
在Microsoft.Build.Tasks.ProcessResourceFiles.WriterResources(ReaderInfo-reader、IResourceWriter-writer)
位于Microsoft.Build.Tasks.ProcessResourceFiles.WriterResources(ReaderInfo reader,字符串文件名)
在Microsoft.Build.Tasks.ProcessResourceFiles.ProcessFile(字符串填充,字符串输出)
在Microsoft.Build.Tasks.ProcessResourceFiles.Run(TaskLoggingHelper日志、ITaskItem[]汇编文件列表、列表'1输入、列表'1输出、布尔源路径、字符串语言、字符串名称空间名称、字符串资源名称空间、字符串文件名、字符串类名、布尔公共类、布尔提取入口文件、字符串resWOutputDirectory)
在Microsoft.Build.Tasks.ProcessResourceFiles.Run(TaskLoggingHelper日志、ITaskItem[]汇编文件列表、列表'1输入、列表'1输出、布尔源路径、字符串语言、字符串名称空间名称、字符串资源名称空间、字符串文件名、字符串类名、布尔公共类、布尔提取入口文件、字符串resWOutputDirectory)
在Microsoft.Build.Tasks.GenerateResource.Execute()中
位于Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ItaskeExecutionHost.Execute()
在Microsoft.Build.BackEnd.TaskBuilder.d_u26.MoveNext()应用客户端
将目标框架更改为.Net 2.0后,我开始收到更有意义的错误消息
原来各种表单的.resx文件都已损坏,因此删除它们解决了问题根据您的初始化组件,PictureBox没有图像。只是添加了两个缺少的行。PictureBox仍然没有图像。如果在设计器中调整控件的大小触发了相同的异常,则会发生我们无法看到的其他情况。