在Windows 2000 / XP上的图标反序列化上抛出Win32Exception

时间:2014-12-18 20:18:19

标签: c# winforms icons

我有一个WinForm应用程序,在我的表单上,我使用设计器为我的表单的Icon属性选择.ico文件。

这在我用于开发和工程师工作的Windows 7机器上运行良好,但是当我尝试在我们的工作台上启动软件时,旧的Windows XP或2000机器会抛出异常。

以下是我记录的异常和堆栈跟踪:

GUI[13:25:51:808]:Exception Caught | TargetInvocationException:
Exception has been thrown by the target of an invocation.
GUI[13:25:51:808]:Exception stack trace:
   at System.RuntimeMethodHandle._SerializationInvoke(Object target, SignatureStruct& declaringTypeSig, SerializationInfo info, StreamingContext context)
   at System.RuntimeMethodHandle.SerializationInvoke(Object target, SignatureStruct declaringTypeSig, SerializationInfo info, StreamingContext context)
   at System.Reflection.RuntimeConstructorInfo.SerializationInvoke(Object target, SerializationInfo info, StreamingContext context)
   at System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfo info, StreamingContext context)
   at System.Runtime.Serialization.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)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   at System.Resources.ResourceReader.DeserializeObject(Int32 typeIndex)
   at System.Resources.ResourceReader.LoadObjectV2(Int32 pos, ResourceTypeCode& typeCode)
   at System.Resources.ResourceReader.LoadObject(Int32 pos, ResourceTypeCode& typeCode)
   at System.Resources.RuntimeResourceSet.GetObject(String key, Boolean ignoreCase, Boolean isString)
   at System.Resources.RuntimeResourceSet.GetObject(String key, Boolean ignoreCase)
   at System.Resources.ResourceManager.GetObject(String name, CultureInfo culture, Boolean wrapUnmanagedMemStream)
   at System.Resources.ResourceManager.GetObject(String name)
   at Bench_Test_Software.BenchTestForm2.InitializeComponent()
   at Bench_Test_Software.BenchTestForm2..ctor()
   at Bench_Test_Software.Program.Main()
GUI[13:25:51:808]:Inner Exception:
GUI[13:25:51:808]:Exception Caught | Win32Exception:
The parameter is incorrect
GUI[13:25:51:808]:Exception stack trace:
   at System.Drawing.Icon.Initialize(Int32 width, Int32 height)
   at System.Drawing.Icon..ctor(SerializationInfo info, StreamingContext context)

为什么会发生这种情况?

0 个答案:

没有答案