【发布时间】:2014-03-02 13:00:19
【问题描述】:
我动态加载一个 dll,创建一个新对象并将该对象序列化为字节数组。它工作正常。但是我无法反序列化此对象,因为它会引发异常 SerializationException: Unable to find assembly 'TicTacToe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'。
这里是简短的代码示例
var loadedGame = Assembly.LoadFrom(pathdll);
var instances = from t in loadedGame.GetTypes()
where t.GetInterfaces().Contains(typeof(IMove))
select Activator.CreateInstance(t, 15) as IMove;
IMove move = instances.First();
var formatter = new BinaryFormatter();
using (MemoryStream stream = new MemoryStream())
{
formatter.Serialize(stream, move);
stream.Position = 0;
formatter.Deserialize(stream); // exception is thrown here
}
你知道如何反序列化对象吗?
更新:
解决方案: How to serialize/deserialize an object loaded from another assembly?
谢谢你韦斯顿!
【问题讨论】:
-
试试Json.Net (
JsonConvert.SerializeObject,JsonConvert.PopulateObject) 应该可以的。
标签: c# serialization dll deserialization