2017-12-04 5 views
0

Unser Projekt "dot net core 2.0" verfügt über einige Klassen, die ICloneable implementieren (sie haben eine .Clone()-Methode, die einen object zurückgibt). Nun verwenden wir ein Paket Microsoft.Azure.Amqp und wenn das Projekt den Bau gibt nun einen Fehler:ICloneable ist in zwei Assemblys enthalten

Error CS0433 The type 'ICloneable' exists in both 'Microsoft.Azure.Amqp, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' and 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'

Beide haben ICloneable im „System“ Namespace, so wie kann der Compiler wissen, was man zu benutzen? Gibt es eine Möglichkeit zu sagen, welche DLL für diese Referenz verwendet werden soll?

Antwort

0

Die Frage here hat eine Lösung für dieses Problem. Ich fasse es kurz zusammen. Gehen Sie zur Referenz in Ihrem Projekt und ändern Sie "Aliase" in einen Wert Ihrer Wahl. Um Code aus dieser Assembly jetzt zu verwenden, müssen Sie das Schlüsselwort extern wie oben in der Datei verwenden: extern alias aliasname. Dann können Sie Code von dieser Baugruppe wie folgt referenzieren: aliasname::System.ICloneable.

Verwandte Themen