2013-03-11 4 views
0

Я пытаюсь запустить старый код vb.net, но он ломается с этой ошибкой (исключение System.Reflection.TargetInvocationException). Вот tracelog:exception System.Reflection.TargetInvocationException error

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 и посмотреть, не поврежден ли он. Если вы не попытаетесь заменить его списком изображений запаса и посмотрите, не исчезнет ли проблема (будет указывать на плохой ресурс)

Смежные вопросы