-2
私はUnmanagedMemoryStream
以下のコードを持っています。どのようにしてオブジェクトを脱シリル化できますか?私はAssembly
からResource
(rd.xaml)を取得しようとしていた。ResourceDictionary外部アセンブリから[UnmanagedMemoryStreamから読み取られたオブジェクト]
string address = @"WpfControlLibrary1.dll";
Assembly skinAssembly = Assembly.LoadFrom(address);
string name = skinAssembly.GetName().Name +".g";
var manager = new ResourceManager(name, skinAssembly);
ResourceSet rs = manager.GetResourceSet(CultureInfo.CurrentCulture, true, true);
UnmanagedMemoryStream stream = (UnmanagedMemoryStream)rs.GetObject("rd.baml", true);
私は(上記の場合Resource Dictionary
です).NET Object
へStream
の内容をdeserialize
することはできませんよ。これどうやってするの?
PS:BinaryFormatter
が例外をスローしている間に、Deserialize
操作です。
例外はありますか?どの行? – cassandrad
{"入力ストリームは有効なバイナリ形式ではありません。開始内容(バイト単位)は次のとおりです。0C-00-00-00-4D-00-53-00-42-00-41-00-4D-00- 4C-00-00 ... "} –
これらの行をコードに追加します。BinaryFormatter binForm = new BinaryFormatter(); オブジェクトobj =(オブジェクト)binForm.Deserialize(ストリーム); –