Impossibile importare System.Xml.Linq dopo porting di progetto
-
martedì 29 maggio 2012 09:05
Ciao a tutti,
ho provato ad aprire in Visual Studio 2010 un progetto che era stato portato avanti con Visual Studio 2008, composto da un progetto web, un progetto di Web Services e diversi progetti di librerie di classi.
Pur avendo scelto di mantenere la versione 3.5 quando mi veniva richiesto, la compilazione del web service non va a buon fine, dato che mi esce il seguente errore:Il tipo o il nome dello spazio dei nomi 'Linq' non esiste nello spazio dei nomi 'System.Xml'. Probabilmente manca un riferimento a un assembly
Ho provato allora ad importare la System.Xml.Linq da Add Reference.
Sembra che lo faccia senza problemi, ma poi non me la ritrovo nella cartella bin del progetto stesso.A cosa può essere dovuto questo strano comportamento?
Grazie
Luigi
Tutte le risposte
-
martedì 29 maggio 2012 09:12Prova:
1. chiudere Visual Studio
2. cancellare le directory bin e obj dei progetti, qui trovi uno snippet per farlo http://hyperionsdk.codeplex.com/SourceControl/changeset/view/70654#1574320
3. ricompilare facendo il rebuild della solutionMatteo Migliore
Bloghttp://blogs.ugidotnet.org/matteomigliore
Twitterhttp://twitter.com/matteomigliore
CodePlex -
martedì 29 maggio 2012 09:30Postatore
Ho provato allora ad importare la System.Xml.Linq da Add Reference.
Sembra che lo faccia senza problemi, ma poi non me la ritrovo nella cartella bin del progetto stesso.L'assembly System.Xml.Linq fa parte del "corredo standard" di .NET e quindi viene installato nella GAC, perciò è normale che tu non lo ritrovi nella cartella bin (a meno che tu non imposti la relativa proprietà CopyLocal su true, ma non c'è nessuna ragione per farlo).
Verifica che nel file web.config siano presenti i seguenti tag:
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Marco Minerva [MCPD]
Blog: http://blogs.ugidotnet.org/marcom
Twitter: @marcominerva- Modificato Marco MinervaMicrosoft Community Contributor, Editor martedì 29 maggio 2012 09:31
-
martedì 29 maggio 2012 09:35In un progetto web le reference vengono annotatate nel file di progetto, non è necessario farlo nel web.config.
Matteo Migliore
Bloghttp://blogs.ugidotnet.org/matteomigliore
Twitterhttp://twitter.com/matteomigliore
CodePlex -
martedì 29 maggio 2012 09:52
Nel web.config del progetto WS ho i seguenti tag:
....
<compilation defaultLanguage="c#" debug="true">
<assemblies>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
....
Pur tuttavia, anche avendo cancellato la bin del progetto WS e ricompilato tutta la solution, il problema permane.L
-
martedì 29 maggio 2012 09:57Prova a cancellare le chiavi nel web.config, necessarie solo al website, e mantenere le reference alle library solo dal progetto.
Matteo Migliore
Bloghttp://blogs.ugidotnet.org/matteomigliore
Twitterhttp://twitter.com/matteomigliore
CodePlex

