1

ドキュメントに従って、 「VcdcClassStructure.dll」に含まれる唯一のクラスのカスタム クラス シリアライザーを作成しsgenました。ドキュメントには、私がする必要があるのは

  1. 「VcdcClassStructure.dll」と sgen で生成された「VcdcClassStructure.XmlSerializers.dll」の両方にアセンブリ参照を追加します。

  2. 新しく生成されたシリアライゼーション クラスを含む名前空間への参照を追加します。

    VcdcClassStructure を使用します。Microsoft.Xml.Serialization.GeneratedAssembly を使用;`

(DotPeek を使用して名前空間が正しいことを確認しました)。

その後、コードを次のように変更しました

XmlSerializer serializer = new XmlSerializer(typeof(message));
serializer.Serialize(writer, vcdMsg);

messageSerializer serializer = new messageSerializer();
serializer.Serialize(writer, vcdMsg);

しかし、コンパイル時に私は得ています

型または名前空間名 'VcdcClassStructure' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

型または名前空間名 'Xml' が名前空間 'Microsoft' に存在しません (アセンブリ参照がありませんか?)

関連するアセンブリを参照usingし、名前空間のコードを追加しました。コンパイラがこれらの参照について不平を言うのはなぜですか?

御時間ありがとうございます。


編集。上記の手順のいずれも見逃していないことを証明するため。

ここに画像の説明を入力

4

1 に答える 1

1

確認しましたが、説明されているプロセスは正しく機能します。したがって、手順に誤りがあると想定する必要があります。それは正常に動作します (注: ライブラリで作成した型は であったSomeTypeため、名前が付けられました):

ここに画像の説明を入力

もう一度手順を実行してみてください。

于 2013-09-02T13:02:43.863 に答える