Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
System.AddIn, Interfaces und SoapFormatter: Keine Serialisierung
dennisspohr
myCSharp.de - Member

Avatar #avatar-2982.jpg


Dabei seit:
Beiträge: 420
Herkunft: Westerwald

Themenstarter:

System.AddIn, Interfaces und SoapFormatter: Keine Serialisierung

beantworten | zitieren | melden

Hallo zusammen,

in jedem AddOn gibt's eine Klasse für die Datenhaltung. Dieser Klasse ist von IAddOnData abgeleitet. Contract, die Adapters und Views implementieren dieses Interface und machen es nach außen zugänglich. Nun versuche ich den Inhalt der Datenhaltungs-Klassen zu serialisieren:


SoapFormatter formatter = new SoapFormatter();
Stream stream = File.Create("C:\\test.xml");

try
{
    formatter.Serialize(stream, addInInstance.Data);
}
finally
{
    stream.Close();
}

Dabei bekomme ich bei formatter.Serialize folgende Fehlermeldung:
Zitat
{"Die Assembly PicReady.AddIn.Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null kann nicht gefunden werden."}

Wisst ihr, woran das leigen könnte? Ich danke euch!

Grüße
Dennis
private Nachricht | Beiträge des Benutzers
Programmierhans
myCSharp.de - Experte

Avatar #avatar-1651.gif


Dabei seit:
Beiträge: 4.221
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Der Formatter versucht die Klasse PickReady.Addin zu serialisieren (welche unbekannt ist)...

Vermutlich musst Du den Formatter überzeugen nur das Interface zu serialisieren...

Ich würde es mal so versuchen... keine Ahnung ob das so funzt.


formatter.Serialize(stream, (IAddOnData)addInInstance.Data);
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
private Nachricht | Beiträge des Benutzers
dennisspohr
myCSharp.de - Member

Avatar #avatar-2982.jpg


Dabei seit:
Beiträge: 420
Herkunft: Westerwald

Themenstarter:

beantworten | zitieren | melden

Hallo Programmierhans,

Dein Vorschlag funktioniert leider nicht, trotzdem danke. Hat sonst noch jemand eine Idee? Ich habe bisher nichts anderes gefunden.

Grüße
Dennis
private Nachricht | Beiträge des Benutzers
Programmierhans
myCSharp.de - Experte

Avatar #avatar-1651.gif


Dabei seit:
Beiträge: 4.221
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Erweitere Dein Interface um zwei Methoden für die Serialisierung und Deserialisierung...

Dann stösst Du nur noch die Serialisierungsmethode an und übergibst den Stream... Die Serialisierung machste dann in der Klasse PickRead.Addin.

Direkt innerhalb der Klasse kennt er dann sicher den Typen und das Assembly...

Eigentlich logisch :-)
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
private Nachricht | Beiträge des Benutzers