2013-03-11 187 views
0

我想运行一个较旧的vb.net代码,但它打破了这个错误(异常System.Reflection.TargetInvocationException)。 这里的追踪日志:异常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:\JMF\SOURCES\JMF\Menu.vb:ligne 160 
    à JMF.MDIContainer..ctor() dans C:\JMF\SOURCES\JMF\Menu.vb:ligne 73 
    à JMF.MDIContainer.Main() dans C:\JMF\SOURCES\JMF\Menu.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)

我认为这个错误是由于这条线的原因,当我评论它,一切运行良好。 我该如何解决这个问题?

回答

1

这是导致基于堆栈上的问题

resources.GetObject("ImageList1.ImageStream") 

跟踪它出现在语句中的表达有什么不对的ImageList1.ImageStream资源。它存在,但反序列化代码无法正确处理它。

很难说没有看到实际的资源是什么问题。我的第一步是简单地在Visual Studio中加载资源,看看它是否损坏。如果不尝试用库存图片清单替换它,并查看问题是否消失(表明资源不足)