2010-10-04 13 views
0

j'avais une solution assez grande compilation correctement jusqu'à ce que mon pouvoir est sorti.Visual Studio 2010 ne sera pas compilé LINQ correctement après une panne de courant redémarrage

Maintenant, j'ai une classe Linq to Sql DataContext standard définie dans un projet, et elle compile correctement, cependant un autre projet qui fait référence à cette assembly refuse de compiler Linq correctement.

Je reçois des erreurs de compilation comme

'DataLayer.AdminDataContext': type utilisé dans une déclaration à l'aide doit être convertible implicitement 'System.IDisposable'

d'un simple

using (DataLayer.AdminDataContext context = new DataLayer.AdminDataContext()) {...}

et des erreurs comme

« System.Data.Linq.Table'1 <DataLayer.User> » ne contient pas de définition 'Où' et aucune méthode d'extension 'Où' acceptant un premier argument de type 'System.Data.Linq.Table'1 <DataLayer.User>' peut être trouvé (manque-t-il une directive using ou une référence d'assembly?)

de

var users = context.Users.Where(u=>u.Username == Username); 

J'ai nettoyé chaque fichiers de

Windows \ Microsoft.Net \ Framework \ v2.0.50727 \ Temporary ASP.NET Files Windows \ Microsoft.NET \ Framework \ v4. 0.30319 \ Fichiers ASP.NET temporaires Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ ASP temporaire Fichiers .NET Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Fichiers ASP.NET temporaires

et j'ai essayé 'Clean Solution' et toutes les variantes de Rebuild I peuvent concocter, à zéro succès. Est-ce que quelqu'un a des idées pour lesquelles un projet dans une solution ne compilera pas, alors que d'autres le feront? Le projet DataLayer semble bien compiler Linq et reconnaît "using" et "Where" sans problème, tandis que l'autre projet ne compilera pas.

+0

Vous référencez System.Collections.Generic? – Alex

+0

Oui, parmi les autres références nécessaires. Le projet a parfaitement compilé le pré-redémarrage. Maintenant, il ne compile pas du tout. – Thinjon100

Répondre

0

« ne contient pas une définition pour « Où » et aucune méthode d'extension « Où » d'accepter un premier argument de type »

Je l'ai vu cette erreur quand il y a une référence manquante à l'assemblée System.Core ou manquant « en utilisant System.Linq » en haut du fichier.

+0

Toutes les instructions using sont là. System.Linq, etc. Il compilait, mais a cessé de fonctionner après le redémarrage, sans aucun changement de code. – Thinjon100

+0

Et vous êtes sûr que l'assembly System.Core est référencé dans votre fichier de projet (et que vous ciblez .NET 3.5 ou supérieur?) –