Meddelande

Minska
No announcement yet.

Serialization av mscorlib

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Serialization av mscorlib

    Har försökt hitta en lösning för att kunna köra serialization på object som använder mscorlib, men lyckas inte hitta någon lösning.
    Många verkar ha samma problem, men jag lyckas inte hitta någon som har lyckats.
    SerializationException skrev:
    Type 'System.__ComObject' in Assembly 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable.
    Objektet är en PowerPoint TextFrame, vilket är anledningen till att mscorlib är inblandad. Behöver spara TextFramen till disk.

    Någon här kanske känner till en lösning eller har en idé på hur det kan lösas?
    Om jag var blygsam,skulle jag vara perfekt
    ><((((º>

  • #2
    Hm, det där kommer inte gå. Till att börja med, för att kunna serializera något så måste klassen som objektet är en instans av vara markerad att den går att serializera, vilket är vad felmeddelandet handlar om.

    Nästa problem är att det är ett COM-objekt du har gett dig på, och de lever i sin egna lilla värld. På sin höjd att .NET ger dig en wrapper som pratar med de metoder COM-objektet har, men inget mer. .NET har ingen kontroll alls på innehållet i COM-objektet, det är som en svart låda. Du har gett dig på att försöka serializera wrappern, men att serializera ett objekt som enbart innehåller lite pekare och liknande för att hantera COM-objektet ger inte särskilt mycket, det är ingenting som kan användas för att återskapa ditt COM-objekt.

    Du måste helt enkelt hitta en annan lösning på hur du sparar innehållet i din TextFrame, mest troligt så får du göra det manuellt också

    Kommentera


    • #3
      Det bästa är ju om du vet vad det är för data som du behöver spara ner från TextFrame, och hur du kan återskapa det dvs gör ett eget objekt.

      [Serializeable]
      public class TextFrameInfo
      {
      public string xxxxxx { get; set; }
      ...........
      public TextFrame Create()
      {
      Skapa objekt och fyll med data.....
      }
      .....
      }

      Kommentera

      Working...
      X