# TargetInvocationException on Deserialize

**URL:** <https://community.thinkgeo.com/t/targetinvocationexception-on-deserialize/2048>\
**Category:** WinForms\
**Created:** [July 27, 2012, 3:22pm UTC](https://community.thinkgeo.com/t/targetinvocationexception-on-deserialize/2048 "2012-07-27T15:22:22Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Damian1](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/d/5f9b8f/32.png) [@Damian1](https://community.thinkgeo.com/u/Damian1)\
**Post date:** [July 27, 2012, 3:22pm UTC](https://community.thinkgeo.com/t/targetinvocationexception-on-deserialize/2048/1 "2012-07-27T15:22:22Z")

</div>

Hi,

I&nbsp;upgraded&nbsp;to&nbsp;6.0.0.75&nbsp;this&nbsp;morning.

Now,&nbsp;when&nbsp;I&nbsp;read&nbsp;back&nbsp;serialized&nbsp;files&nbsp;that&nbsp;were&nbsp;created&nbsp;by&nbsp;a&nbsp;different&nbsp;user&nbsp;using&nbsp;the&nbsp;deserializer,&nbsp;I&nbsp;get&nbsp;a&nbsp;TargetInvocationException&nbsp;for&nbsp;ShapeFileFeature&nbsp;layers&nbsp;because&nbsp;the&nbsp;shapePathFileName&nbsp;value&nbsp;in&nbsp;the&nbsp;file&nbsp;points&nbsp;to&nbsp;another&nbsp;users&nbsp;machine.&nbsp;&nbsp;This&nbsp;same&nbsp;error&nbsp;applies&nbsp;to&nbsp;GDIPlusRasterLayer.

Typically,&nbsp;I&nbsp;update&nbsp;the&nbsp;values&nbsp;in&nbsp;the&nbsp;PathFileNames&nbsp;after&nbsp;deserialize&nbsp;method&nbsp;returns&nbsp;and&nbsp;hence&nbsp;get&nbsp;past&nbsp;any&nbsp;problems&nbsp;with&nbsp;missing&nbsp;files.&nbsp;&nbsp;Now,&nbsp;I&nbsp;don't&nbsp;get&nbsp;to&nbsp;this&nbsp;point,&nbsp;so&nbsp;users&nbsp;can&nbsp;no&nbsp;longer&nbsp;share&nbsp;data&nbsp;without&nbsp;editing&nbsp;the&nbsp;serialized&nbsp;file&nbsp;and&nbsp;changing&nbsp;the&nbsp;paths&nbsp;manually.

Unfortunately,&nbsp;I&nbsp;don't&nbsp;seem&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;continue&nbsp;deserializing&nbsp;when&nbsp;this&nbsp;error&nbsp;occurs.

Prior&nbsp;to&nbsp;this&nbsp;version,&nbsp;this&nbsp;exception&nbsp;was&nbsp;not&nbsp;triggered&nbsp;so&nbsp;it&nbsp;is&nbsp;a&nbsp;recent&nbsp;change.

Is&nbsp;there&nbsp;a&nbsp;way&nbsp;to&nbsp;allow&nbsp;deserialize&nbsp;method&nbsp;to&nbsp;bypass&nbsp;this&nbsp;test?&nbsp;&nbsp;It's&nbsp;very&nbsp;common&nbsp;to&nbsp;want&nbsp;to&nbsp;exchange&nbsp;our&nbsp;serialization&nbsp;files&nbsp;when&nbsp;work&nbsp;sharing.&nbsp;&nbsp;If&nbsp;not,&nbsp;then&nbsp;I&nbsp;need&nbsp;a&nbsp;workaround.

Regards,

Damian

---

<div class="post-metadata">

**Author:** ![Edgar](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/e/b487fb/32.png) [@Edgar](https://community.thinkgeo.com/u/Edgar)\
**Post date:** [July 30, 2012, 9:13pm UTC](https://community.thinkgeo.com/t/targetinvocationexception-on-deserialize/2048/2 "2012-07-30T21:13:00Z")

</div>

Damian,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thanks&nbsp;for&nbsp;your&nbsp;post,&nbsp;I&nbsp;think&nbsp;you&nbsp;must&nbsp;have&nbsp;opened&nbsp;the&nbsp;layers&nbsp;before&nbsp;serializing.&nbsp;However,&nbsp;we&nbsp;made&nbsp;a&nbsp;change&nbsp;before&nbsp;6.0&nbsp;releases&nbsp;in&nbsp;ShapeFileFeatureSource:&nbsp;the&nbsp;featureSource&nbsp;will&nbsp;keep&nbsp;open&nbsp;after&nbsp;deserializing&nbsp;if&nbsp;it’s&nbsp;open&nbsp;before&nbsp;serializing,&nbsp;but&nbsp;the&nbsp;file&nbsp;needs&nbsp;to&nbsp;be&nbsp;existed&nbsp;in&nbsp;the&nbsp;path&nbsp;which&nbsp;specified&nbsp;in&nbsp;the&nbsp;xml.&nbsp;So&nbsp;we&nbsp;suggest&nbsp;you&nbsp;to&nbsp;close&nbsp;the&nbsp;layer&nbsp;before&nbsp;serializing&nbsp;it&nbsp;in&nbsp;your&nbsp;scenario.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thanks,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Edgar&nbsp;

---

<div class="post-metadata">

**Author:** ![Damian1](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/d/5f9b8f/32.png) [@Damian1](https://community.thinkgeo.com/u/Damian1)\
**Post date:** [July 31, 2012, 11:40am UTC](https://community.thinkgeo.com/t/targetinvocationexception-on-deserialize/2048/3 "2012-07-31T11:40:55Z")

</div>

Hi&nbsp;Edgar,

Closing&nbsp;the&nbsp;shape&nbsp;layer&nbsp;at&nbsp;the&nbsp;save&nbsp;file&nbsp;event&nbsp;has&nbsp;fixed&nbsp;this&nbsp;issue.&nbsp;&nbsp;Thanks.

Regarding&nbsp;older&nbsp;serialized&nbsp;files.&nbsp;&nbsp;These&nbsp;have&nbsp;the&nbsp;IsOpen&nbsp;tag&nbsp;in&nbsp;them&nbsp;for&nbsp;the&nbsp;ShapeFileFeatureSource&nbsp;set&nbsp;to&nbsp;True.&nbsp;&nbsp;In&nbsp;order&nbsp;for&nbsp;me&nbsp;to&nbsp;fix&nbsp;these&nbsp;files,&nbsp;do&nbsp;you&nbsp;recommend&nbsp;setting&nbsp;this&nbsp;property&nbsp;to&nbsp;False&nbsp;or&nbsp;deleting&nbsp;the&nbsp;entire&nbsp;tag?&nbsp;&nbsp;I&nbsp;do&nbsp;note&nbsp;that&nbsp;now&nbsp;when&nbsp;I&nbsp;save&nbsp;a&nbsp;file,&nbsp;the&nbsp;IsOpen&nbsp;tag&nbsp;is&nbsp;no&nbsp;longer&nbsp;in&nbsp;the&nbsp;output&nbsp;file&nbsp;for&nbsp;the&nbsp;ShapeFileFeatureSource&nbsp;so&nbsp;I&nbsp;am&nbsp;guessing&nbsp;that&nbsp;deleting&nbsp;it&nbsp;is&nbsp;the&nbsp;better&nbsp;solution.

Thanks,

Damian

---

<div class="post-metadata">

**Author:** ![Edgar](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/e/b487fb/32.png) [@Edgar](https://community.thinkgeo.com/u/Edgar)\
**Post date:** [July 31, 2012, 8:03pm UTC](https://community.thinkgeo.com/t/targetinvocationexception-on-deserialize/2048/4 "2012-07-31T20:03:12Z")

</div>

Damian,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Glad&nbsp;to&nbsp;hear&nbsp;that&nbsp;the&nbsp;last&nbsp;post&nbsp;solved&nbsp;your&nbsp;problem.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Yes,&nbsp;the&nbsp;tag&nbsp;could&nbsp;be&nbsp;deleted.&nbsp;In&nbsp;our&nbsp;algorithm,&nbsp;if&nbsp;one&nbsp;field’s&nbsp;value&nbsp;is&nbsp;the&nbsp;default&nbsp;one,&nbsp;it&nbsp;would&nbsp;not&nbsp;be&nbsp;written&nbsp;to&nbsp;the&nbsp;xml&nbsp;file.&nbsp;  
&nbsp;&nbsp;  
&nbsp;If&nbsp;you&nbsp;have&nbsp;any&nbsp;questions,&nbsp;please&nbsp;let&nbsp;me&nbsp;know.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Regards,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Edgar&nbsp;&nbsp;  
&nbsp;&nbsp;
