.NET Assembly-Problem bei Serialisierung

Diskutiere .NET Assembly-Problem bei Serialisierung im Developer Network Forum im Bereich Hardware & Software Forum; Hallo Leute! Ich habe ein kleines Problem mit der Assembly-Architektur in .NET. Und zwar habe ich ein VB.NET-Tool, das Dateien für ein anderes...
  • .NET Assembly-Problem bei Serialisierung Beitrag #1
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Hallo Leute! Ich habe ein kleines Problem mit der Assembly-Architektur in .NET.
Und zwar habe ich ein VB.NET-Tool, das Dateien für ein anderes VB.NET-Programm erzeugt. Dazu verwende ich den BinaryFormatter, der ein Objekt einer Klasse serialisiert. Im zweiten Programm habe ich eine Kopie der Klassendatei, die die Datei wieder deserialisieren soll. Dummerweise geht das nicht; es kommt die Fehlermeldung, dass die Assembly "Name des Erstellungstools" nicht gefunden wurde. Also kurz im Netz nachgelesen und beim Projekt in den Referenzen die exe des Tools hinzugefügt. Das resultiert dann in der neuen Fehlermeldung, dass nach der Deserialisierung das Objekt nicht von NameDesErstellungstools.Klassenname auf NameDesProgramms.Klassenname (wobei der Klassenname und die ganze Definition die gleiche ist) gecastet werden kann.

Hat jemand eine gute Idee, was ich da machen kann? Irgendwie scheint mir diese .net-Geschichte das Leben nicht wirklich leichter zu machen, wie überall behauptet wird. ;)

Grüße und Dank!,
Degi
 
  • .NET Assembly-Problem bei Serialisierung Beitrag #2
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Gerade festgestellt, dass man nach dem Hinzufügen der Referenz das Tool per Import als Namespace laden kann und dann die passende Klasse direkt von dort laden. Dann passt auch alles zusammen. Scheint mir zwar reichlich kompliziert, aber ist wohl so gedacht...
Wenn jemand das trotzdem noch genauer erläutern könnte oder andere Lösungen parat hat, würde ich mich aber sehr freuen.
 
  • .NET Assembly-Problem bei Serialisierung Beitrag #3
Hadon

Hadon

Bekanntes Mitglied
Dabei seit
11.09.2007
Beiträge
196
Reaktionspunkte
0
Ort
Wemding (nähe Augsburg)
So ganz verstehe ich deinen Programmaufbau jetzt garnicht. Vor allem weil du zwei Programme verwendest ist mir schleierhaft. :confused:

Was dir das Leben aber wirklich sehr viel einfacher machen könnte wäre die Serialisierung im XML-Format, dann kannst du auch mit den Attributen steuern was du serialisieren möchtest und was nicht. :)

PS:
zur relativ einfachen Serialisierung an sich wäre das Thema Generics sehr brauchbar ;)
 
  • .NET Assembly-Problem bei Serialisierung Beitrag #4
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Das eine Programm ist ein Tool, das das passende Datenformat aus anderen Quellen erzeugt. Eine Art Level-Editor, wenn man so will. Das andere Programm ist eine 3D-Grafikengine, die diese Daten dann lädt. Per Serialisierung der Klasse für die Daten lässt sich das einfach machen; ob XML oder Binary ist ja völlig egal. Natürlich wird mittels den erwähnten Attributen auch nur das serialisiert, was ich brauche. Das Problem war, dass man die gleiche Klasse/Quellcodedatei nicht einfach in ein anderes Projekt kopieren und dort verwenden kann, wie man das von gewöhnlichen Programmiersprachen gewöhnt ist. Man kann aber das eine Programm im anderen als Referenz einfügen; dann ist es die gleiche Klasse, und alles ist in Ordnung. Dies soll ja auch so sein, weil .net ja für Konsistenz sorgen soll, um die allseits beliebte DLL-Hell und ähnliches zu vermeiden.
Ganz optimal sind diese Methoden trotzdem nicht für meine Zwecke, da diese Anwendung schnell sein muss. Streaming aus großen Leveldateien; sprich Random Access auf bestimmte Datenblöcke, geht auf die Art offenbar nicht. Aber solange die Datei problemlos als ganzes in den RAM passt, kann man sie ja auch gleich komplett laden; beim Programmstart hat man ja Zeit. Normalerweise würde ich sowas auch in C++ schreiben; aber die Projektanforderungen schreiben VB.net vor.
 
  • .NET Assembly-Problem bei Serialisierung Beitrag #5
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
/bitte löschen: DP
 
  • .NET Assembly-Problem bei Serialisierung Beitrag #6
Hadon

Hadon

Bekanntes Mitglied
Dabei seit
11.09.2007
Beiträge
196
Reaktionspunkte
0
Ort
Wemding (nähe Augsburg)
Naja C# könnte ich ja noch verstehen aber Vb.Net ist schon echt ein Witz in Sachen Geschwindigkeit.

Möglicherweise könntest du mit den Reflections relativ weit kommen in puncto Schnelligkeit und Dynamik, denn diese sind wirklich schnell und der positive Nebeneffekt an der Sache wäre, dass das Problem mit dem Speicher auch gelöst wird, da ja erst zur Laufzeit generiert wird.
Allerdings weiß ich nicht wie weit du mit den Reflections in VB.Net kommst.
 
Thema:

.NET Assembly-Problem bei Serialisierung

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben