2017-09-15 19 views
0

.NET標準ライブラリでIXMLSerializableを実装するクラスがありますが、IXMLSerializableを2つの場所で参照しているため、ライブラリをコンパイルできません。次のように出力されますIXMLSerializableへの二重参照

エラーCS0433:型 'IXmlSerializable' 'System.Xml.ReaderWriter、バージョン= 4.1.0.0、文化=中立、 なPublicKeyToken = b03f5f7f11d50a3a' と「システムの両方に存在します。 Xml.XmlSerializer、 バージョン= 4.0.0.0、文化=中立、なPublicKeyToken = b03f5f7f11d50a3a」

私は、私はXML属性のために必要な(System.Xml.XmlSerializer)ただし、依存関係、下の一つの基準を参照してください。これは.NET標準ライブラリの最初の亀裂なので、ここで紛失しているものがありますか?

答えて

1

System.Xml.XmlSerializerへの参照をバージョン4.1.0.0にアップグレードしてください。 エラーメッセージには、ライブラリへの参照が2つありますが、異なるバージョンが使用されていると表示されます。 System.Xml.ReaderWriterがあなたのプロジェクトよりも新しいバージョンを使用しているので、そのバージョンを取得する必要があります。

また、System.Xml.XmlSerializerへの参照を削除するか、古いバージョンに切り替えることもできます。

+0

私はそれをどのように更新するのか分かりません。参照を削除すると、[XMLAnyElement]または[XMLElement(ElementName = "---")]属性にアクセスすることはできません。それはキャッチ22のように感じます... – Sonic1015

+0

私はそれをアップグレードする方法を考えました。アセンブリ参照の代わりにNugetパッケージとして追加する必要があり、ライブラリがビルドされます。 – Sonic1015

関連する問題