it-swarm.com.de

Warum kann ich in C # nicht auf System.Runtime.Serialization.Json verweisen?

Ich möchte eine API verwenden, um Informationen aus dem Interwebz zu erhalten. Die API gibt Daten im Json-Format zurück.

  1. Ich führe zusätzlich Microsoft Visual Studio C # 2010 Express aus.
  2. Es scheint, dass ich das .NET Framework 4-Clientprofil als "Zielframework" festgelegt habe, aber ich bin mir ehrlich gesagt nicht sicher, was dies genau bedeutet.
  3. Dies ist eine Windows Forms-Anwendung ...

Nicht viel Code zu zeigen, weil ich ohne die entsprechende using-Anweisung nicht richtig loslegen kann ...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Net;
using System.Runtime.Serialization.Json;

Ich erhalte diesen Fehler:

Der Typ- oder Namespace-Name 'Json' ist im Namespace 'System.Runtime.Serialization' nicht vorhanden (fehlt ein Assemblyverweis?)

Fehlt mir eine DLL Datei oder so? Aufgrund meiner stundenlangen erfolglosen Suche nach Lösungen sollte .NET 4.xx bereits über die Tools verfügen, die zum Parsen einer Json-formatierten Zeichenfolge erforderlich sind ?

28
Methodician

Der System.Runtime.Serialization.Json-Namespace befindet sich in zwei verschiedenen DLLs, abhängig von Ihrem .net-Framework.

In .NET 3.5 befindet es sich in System.ServiceModel.Web.dll

In .NET 4.0 und höher befindet es sich in System.Runtime.Serialization.dll.

Stellen Sie sicher, dass Sie die richtige DLL als Referenz in Ihrem Projekt hinzugefügt haben, und fügen Sie using System.Runtime.Serialization.Json; Am Anfang Ihrer Codedatei hinzu.

BEARBEITEN - Erwägen Sie die Verwendung von JSON.NET

Obwohl .NET Framework eigene Namespaces für JSON-Serialisierung und -Deserialisierung (DataContractJsonSerializer und JavaScriptSerializer) bereitstellt, sollten Sie untersuchen, ob Sie mit JSON.NET besser dran sind.

JSON.NET ist benutzerfreundlicher, leistungsfähiger und verfügt über weitaus mehr Funktionen. http://www.newtonsoft.com/json/help/html/JsonNetVsDotNetSerializers.htm

54
CathalMF

sie müssen die System.Runtime.Serialization-DLL aus der Referenz importieren

11
Eanthmue

Sie müssen Ihrem Projekt einen Verweis hinzufügen.

Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Referenzen, und fügen Sie dann eine Referenz hinzu. Sie sehen eine Liste der DLLs und müssen das Kontrollkästchen neben dem aktivieren, das Sie für das Hinzufügen zum Projekt benötigen. Danach können Sie die using-Anweisung erfolgreich hinzufügen.

Ich hoffe, das hilft!

8
eddie_cat

Der allgemeine Prozess zum Serialisieren und Deserialisieren von JSON aus C # lautet:

Fügen Sie einen Verweis auf die System.Runtime.Serialization-Bibliothek hinzu.

Fügen Sie using-Anweisungen für System.Runtime.Serialization und System.Runtime.Serialization.Json hinzu.

4
Jawier

Bitte ändern Sie Ihr Target framework von .NET Framework 4 Client Profile bis .NET Framework 4

1
Wasif Hossain