我试图运行一个旧的vb.net代码,但它打破了这个错误(异常System.Reflection.TargetInvocationException)。以下是跟踪日志:
Source="mscorlib" StackTrace:
à System.RuntimeMethodHandle._SerializationInvoke(Object target, SignatureStruct& declaringTypeSig, SerializationInfo info, StreamingContext context)
à System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfo info, StreamingContext context)
à System.Runtime.Serialization.ObjectManager.FixupSpecialObject(ObjectHolder holder)
à System.Runtime.Serialization.ObjectManager.DoFixups()
à System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
à System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
à System.Resources.ResourceReader.DeserializeObject(Int32 typeIndex)
à System.Resources.ResourceReader.LoadObjectV2(Int32 pos, ResourceTypeCode& typeCode)
à System.Resources.RuntimeResourceSet.GetObject(String key, Boolean ignoreCase, Boolean isString)
à System.Resources.ResourceManager.GetObject(String name, CultureInfo culture, Boolean wrapUnmanagedMemStream)
à JMF.MDIContainer.InitializeComponent() dans C:JMFSOURCESJMFMenu.vb:ligne 160
à JMF.MDIContainer..ctor() dans C:JMFSOURCESJMFMenu.vb:ligne 73
à JMF.MDIContainer.Main() dans C:JMFSOURCESJMFMenu.vb:ligne 187
à System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
à System.Threading.ThreadHelper.ThreadStart()
第160行执行此任务Me.ImageList1。ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer)
我认为错误是由于这一行,因为当我注释它时,一切都运行良好。我该如何解决这个问题?
这是引起问题的语句中的表达式
resources.GetObject("ImageList1.ImageStream")
根据堆栈跟踪,似乎ImageList1.ImageStream
资源有问题。它存在,但反序列化代码无法正确处理它。
在没有看到实际资源的情况下很难说问题是什么。我的第一步是在Visual Studio中加载资源,看看它是否损坏了。如果没有,请尝试用库存图像列表替换它,看看问题是否消失(这将表明一个坏的资源)