|
分類:[C#]
VisualStudio2015 .NetFramework4.0
前のプロジェクトのソースが巨大でかつ古くなってきたので現在新しいプロジェクトへ引っ越し作業を行っています。
その作業の一部として現在作っているプロジェクトで前のプロジェクトの中に定義してあるクラスでシリアライズして保存したバイナリファイルのデータを 現在作っているプロジェクトで前のプロジェクトと同名のクラスを使ってデシリアライズしようとしています。
前のアセンブリで作ったプロジェクトの中にあるクラスのバイナリデータをデシリアライズしようとしたのですが、
"アセンブリ '[前のアセンブリ名], Version=[前のアセンブリのバージョン番号], Culture=neutral, PublicKeyToken=null' が見つかりません。"
と例外エラーが発生してしまいました。
この問題を解決するにはどうすればよいでしょうか。 教えてください。
[古いプロジェクト] private void button1_Click(object sender, EventArgs e) { StructCommon.Commentlist Commentlist = new StructCommon.Commentlist();
List<StructCommon.CommentData> listStructData = new List<StructCommon.CommentData>(); listStructData.Add(new StructCommon.CommentData() { Comment = "test1", Value = 1 });
listStructData.Add(new StructCommon.CommentData() { Comment = "test2", Value = 2 });
listStructData.Add(new StructCommon.CommentData() { Comment = "test3", Value = 3 });
listStructData.Add(new StructCommon.CommentData() { Comment = "test4", Value = 4 });
listStructData.Add(new StructCommon.CommentData() { Comment = "test5", Value = 5 });
Commentlist.listData = new List<StructCommon.CommentData>(listStructData);
using (FileStream fStream = new FileStream(@"C:\test\comment.dat", FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) { using (Stream stream = Stream.Synchronized(fStream)) { BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(stream, Commentlist); } } }
[新しいプロジェクト]
private void button1_Click(object sender, EventArgs e) { StructCommon.Commentlist OldCommentData;
using (FileStream fStream = new FileStream(@"C:\test\comment.dat", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { using (Stream stream = Stream.Synchronized(fStream)) { BinaryFormatter bf = new BinaryFormatter(); object obj = bf.Deserialize(stream); //ここで例外エラーが発生。 OldCommentData = (StructCommon.Commentlist)obj; } }
foreach (StructCommon.CommentData Cdata in OldCommentData.listData) { MessageBox.Show(Cdata.Comment); } }
[新旧それぞれのプロジェクトに定義] class StructCommon { [Serializable()] public struct Commentlist { public List<CommentData> listData; }
[Serializable()] public struct CommentData { public string Comment; public int Value; } }
|