0

当我尝试在 Windows XP 系统上加载 Windows 窗体应用程序时,我收到以下错误,该错误在 ThreadExceptionEventArgs 事件中捕获。此表单在 Windows 7 PC 上运行良好,并使用 .Net 4.0 Client Profile 编写。C# 只是为了在表单显示在屏幕上之前澄清这个错误。几天来我一直试图追踪这个问题,但我似乎无法弄清楚。我确实验证了 XP 机器上确实安装了 .net 4.0 客户端配置文件。关于 XP 和 .net 4.0 是否还有其他问题?这是我的使用

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using Outlook = Microsoft.Office.Interop.Outlook;

这是堆栈跟踪报告

错误消息:调用的目标已引发异常。System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfo info, StreamingContext context) 处 System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfo info, StreamingContext context) 处 System.RuntimeMethodHandle._SerializationInvoke(IRuntimeMethodInfo 方法,对象目标,SignatureStruct& declaringTypeSig,SerializationInfo 信息,StreamingContext 上下文)的堆栈跟踪.ObjectManager.FixupSpecialObject(ObjectHolder holder) at System.Runtime.Serialization.ObjectManager.DoFixups() at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)在 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter。

内部异常:System.ComponentModel.Win32Exception (0x80004005): System.Drawing.Icon.Initialize(Int32 width, Int32 height) at System.Drawing.Icon..ctor(SerializationInfo info, StreamingContext context) Target SiteVoid _SerializationInvoke 的参数不正确(System.IRuntimeMethodInfo,System.Object,System.SignatureStruct ByRef,System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)

4

1 回答 1

2

您在表单中使用的图标有问题。通常是 Form.Icon 属性。

XP 对图标的支持有限,您不能使用在 Vista 及更高版本上工作的那种“花哨”图标。特别是,它不能大于 256x256,也不能是使用 PNG 图像的那种。

于 2013-07-22T19:37:47.283 回答