2013-03-11 133 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中加載資源,看看它是否損壞。如果不嘗試用庫存圖片清單替換它,並查看問題是否消失(表明資源不足)