FileNotFoundException for mscorlib.XmlSerializers.DLL, which doesn't exist

后端 未结 3 989
难免孤独
难免孤独 2020-12-31 09:00

I\'m using an XmlSerializer to deserialize a particular type in mscorelib.dll

XmlSerializer ser = new XmlSerializer( typeof( [.Net type in System] ) );
retur         


        
相关标签:
3条回答
  • 2020-12-31 09:34

    I'm guessing now. but:

    1. The system might be generating a serializer for the whole of mscorlib, which could be very slow.
    2. You could probably avoid this by wrapping the system type in your own type and serialising that instead - then you'd get a serializer for your own assembly.
    3. You might be able to build the serializer for mscorlib with sgen.exe, which was the old way of building serializer dlls before it got integrated into VS.
    0 讨论(0)
  • 2020-12-31 09:41

    Okay, so I ran into this problem and have found a solution for it specific to my area.

    This occurred because I was trying to serialize a list into an XML document (file) without an XML root attribute. Once I added the following files, the error goes away.

    XmlRootAttribute rootAttribute = new XmlRootAttribute();
    rootAttribute.ElementName = "SomeRootName";
    rootAttribute.IsNullable = true;
    

    Dunno if it'll fix your problem, but it fixed mine.

    0 讨论(0)
  • 2020-12-31 09:45

    The delay is because, having been unable to find the custom serializer dll, the system is building the equivalent code (which is very time-consuming) on the fly.

    The way to avoid the delay is to have the system build the DLL, and make sure it's available to the .EXE - have you tried this?

    0 讨论(0)
提交回复
热议问题