0

プロジェクト A と B を含む C# ソリューションがあり、B には A への参照があります。A にはシリアライズ可能なクラス ClassA が含まれています。B には ClassB1 と ClassB2 の 2 つのクラスが含まれます。ClassB1 から ClassA 型のオブジェクトをシリアル化し、Folder1 に保存します。Folder1 はソリューションに属していますが、プロジェクト A または B には属していません。ClassB1 からオブジェクトを逆シリアル化しようとすると、正常に動作します。次に、ClassB2 から、シリアル化されたオブジェクトを必死に逆シリアル化しようとします。Folder1 へのアクセスが拒否されましたというエラー メッセージが表示されます。

このエラーが発生する理由と解決方法を教えてください。

アップデート。プロジェクト B では、コンストラクターから ClassB1 型のオブジェクトをシリアル化しました。これも ClassB2 からデシリアライズできません! シリアル化されたすべてのファイルは、ソリューションのメイン プロジェクトであるプロジェクト C の Folder1 にあります。オブジェクトをシリアル化した同じクラスから逆シリアル化するたびに、魅力的に機能します。しかし、別のクラスから逆シリアル化しようとすると、同じフォルダー Folder1 で失敗します。

4

1 に答える 1

0

アクセス拒否の例外が発生している場合は、ファイルのロックの問題であると言えます。開いているすべてのファイル ストリームを適切に閉じていますか?

于 2013-06-29T19:30:54.067 に答える