2016-08-18 15 views
0

gibt es die ziemlich häufig FehlerÄrger mit System.Xml Bibliothek

„Der Typ‚XmlReader‘in einer Baugruppe definiert ist, die nicht verwiesen wird. Sie müssen einen Verweis auf Assembly‚hinzufügen System.Xml, Version = 4.0 .0.0, Culture = neutral, PublicKeyToken = ...‘

Hier ist die Linie, die die Fehler Verweise auf

SecurityToken securityToken = tokenHandler.ReadToken(contextTokenString) 

Ja, ich diese Frage viele Male dort gesehen habe (Hinzufügen von System .Xml zur Assembly löst das Problem für ev Eryone), der Schlüssel ist Ich DO haben System.Xml dll in meine Referenzen Assembly und ich habe den System.Xml-Namespace importiert.

Kann mir jemand helfen?

PS: Es tut mir leid für mein Englisch, könnte es einige Fehler sein: P

+0

Für welche Version der Netzwerkbibliothek ist Ihr Projekt festgelegt? Wenn Sie für Net 2.0 eingestellt sind, wird die XML-Bibliothek nicht funktionieren. – jdweng

+0

Es scheint, dass die System.Xml nicht wirklich enthalten ist, da Intellisence System.Xml nicht vorschlägt, während ich "using System" eintippe. – koee

+0

Es funktioniert gut in anderen Projekten tho – koee

Antwort

0

Schauen Sie, ob das Projekt tatsächlich in ist .NET 4.0 vielleicht verändert es

Die DLL ist wahrscheinlich von einer anderen .NET-Version . Ich würde versuchen, es zu entfernen und es erneut zu referenzieren

+0

Ich würde auch überprüfen, ob System.Xml.Serialization gibt es auch. Und hier ist eine Referenz, die helfen könnte: http://stackoverflow.com/questions/31835615/getting-a-compile-error-in-c-sharp-about-not-referencing-system-xml-ye-system –

+0

Art von Duplikat hier: http://stackoverflow.com/questions/34957617/xmlreader-is-declared-in-a-different-assembly-event-though-system-xml-is-referenc –

+0

Das Projekt ist in. NET 4.5.2 – koee

0

Siehe die Fehlermeldung und wie es heißt es erwartet eine Version=4.0.0.0. Da Sie sagen, dass Sie den Namespace referenziert und importiert haben, überprüfen Sie die Version der referenzierten DLL, es ist definitiv eine andere Version.

+0

Überprüft es auch, es ist 4.0.0.0 – koee

3
  1. Remove Referenz System.Xml-
  2. hinzufügen Referenz zu System.Xml
  3. In Referenzen Knoten in Lösung Explorer, klicken Sie auf der rechten auf System.Xml.dll und klicken Sie auf Eigenschaften
  4. Sehen Sie, was der Wert ist von Copy Local. Wenn es True ist, ändern Sie es zu False, säubern Sie und erstellen Sie die Lösung neu (oder starten Sie VS neu). Wenn es False ist, ändern Sie es zu True, säubern Sie und bauen Sie (und/oder starten Sie VS neu), und ändern Sie es wieder zu False und säubern Sie und bauen Sie neu auf. Es sollte das Problem lösen.