Como usar a classe XDocument no projeto SilverLight (C #)
Eu estou tentando criar um aplicativo do Silverlight (pela primeira vez) que envolve a análise XML de um site e exibir informações. Para fazer isso, estou usando o Visual Studio 2008 no Windows XP Service Pack 3. Eu também tenho o .NET Framework 3.5 SP1 instalado.
Meu problema é que nenhum analisador de XML que vi na internet funciona. No topo do meu código eu tenho ambas as linhas que eu acredito serem necessárias (usando "System.xml;" e usando "System.linq;") mas XDocument, XMLReader, XMLDocument e quaisquer outros que eu tenha encontrado não funcionam, retornando o erro que o tipo ou namespace não pode ser encontrado. Eu tenho o .NET Framework.
Eu tornei absolutamente nada na internet sobre este problema. Alguém tem alguma idéia?
EDITAR:Acabei de descobrir que quando abro o arquivo fora do contexto de um projeto do Silverlight, ele é capaz de usar o XDocument. É só quando abro todo o projeto que meu problema ocorre
Aqui está um código de amostra mostrando o problema:
<code>using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using System.Xml.Linq; //Error 1 (See below) namespace LastfmAmazon { public partial class Page : UserControl { public Page() { InitializeComponent(); } public void DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { XDocument doc = XDocument.Parse(e.Result); //Error 2: see below } public void Button_Click(object sender, RoutedEventArgs e) { if (uname.Text != String.Empty) { App app = (App)Application.Current; app.UserName = uname.Text; String getTopArtists = "http://ws.audioscrobbler.com/2.0/?method=user.gettopartists&user=" + app.UserName + "&api_key=d2d620af554a60f228faed8d502c4936"; uname.Text = "Try Another One!"; WebClient web = new WebClient(); WebClient client = new WebClient(); client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DownloadStringCompleted); client.DownloadStringAsync(new Uri(getTopArtists)); } } } } </code>
Erro 1: esta linha contém o seguinte erro: O tipo ou o nome do namespace 'Linq' não existe no namespace 'System.Xml' (você está faltando uma referência de assembly?)
Erro 2: esta linha contém o seguinte erro: O tipo ou nome do namespace 'XDocument' não existe no namespace 'System.Xml' (você está faltando uma referência de assembly?)
EDIT 2: Depois que eu pesquisei o que significava "adicionar uma referência" a uma biblioteca, a resposta de Anthony resolveu o problema.