C# 在其他项目中反序列化程序集时发生异常
我有一个程序,可以序列化类的对象列表。在另一个程序中,我创建了同一个类,所有这些都运行良好。 但昨天我更改了序列化程序的程序集名称,现在我无法反序列化任何文件,因为我遇到了一个无法找到程序集的异常。。。版本一。。。。 我怎样才能解决这个问题? 我将其序列化为:C# 在其他项目中反序列化程序集时发生异常,c#,exception,serialization,deserialization,C#,Exception,Serialization,Deserialization,我有一个程序,可以序列化类的对象列表。在另一个程序中,我创建了同一个类,所有这些都运行良好。 但昨天我更改了序列化程序的程序集名称,现在我无法反序列化任何文件,因为我遇到了一个无法找到程序集的异常。。。版本一。。。。 我怎样才能解决这个问题? 我将其序列化为: public static void serialize(BodyCustom[] bodySerialized, String path) { FileStream stream = null;
public static void serialize(BodyCustom[] bodySerialized, String path)
{
FileStream stream = null;
try
{
BinaryFormatter bFormatter = new BinaryFormatter();
stream = new FileStream(path, FileMode.CreateNew, FileAccess.ReadWrite, FileShare.None);
bFormatter.Serialize(stream, bodySerialized);
}
catch (Exception ex)
{
ex.ToString();
}
finally
{
if (stream != null)
stream.Close();
}
并反序列化:
public static BodyCustom[] deserialize(String path)
{
BodyCustom[] bodyDeserialized = null;
FileStream stream = null;
try
{
BinaryFormatter bFormatter = new BinaryFormatter();
stream = File.Open(path, FileMode.Open);
bodyDeserialized = (BodyCustom[])bFormatter.Deserialize(stream);
}
catch (Exception ex)
{
ex.ToString();
}
if (stream != null)
stream.Close();
return bodyDeserialized;
}
这是一个例外:
$exception {"Impossibile to find assembly 'FitnessRecordingUtility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'."} System.Exception {System.Runtime.Serialization.SerializationException}
我已经决定了。我已经用类BodyCustom创建了一个DLL,该类具有第一个项目的相同程序集,并且在第二个项目的引用之间导入了该DLL。非常感谢–提供整个异常文本以及内部异常。我添加了异常,错误消息听起来不太正确。您可以添加所涉及的程序集名称吗?另外,您是在尝试在一个应用程序中序列化并反序列化到另一个应用程序,还是有类似于处理这两者的DLL的东西?我使用一个应用程序进行序列化,并且创建的文件在另一个反序列化它们的应用程序中使用。当然,以前它们有相同的程序集名称,现在没有。当我打开序列化文件时,我在第二个应用程序中读取了程序集,但错误消息不匹配,但从您的注释来看,可能可以解释发生了什么。