我有一个相当大的解决方案可以正确编译,直到我的电源耗尽。
现在,我在一个项目中定义了一个标准的 Linq to Sql DataContext 类,并且它可以正确编译,但是引用该程序集的另一个项目拒绝正确编译 Linq。
我遇到类似
的编译错误“DataLayer.AdminDataContext”:using 语句中使用的类型必须隐式转换为“System.IDisposable”
从简单
using (DataLayer.AdminDataContext context = new DataLayer.AdminDataContext()) {...}
以及类似
的错误'System.Data.Linq.Table'1' 不包含 'Where' 的定义,并且找不到接受类型为 'System.Data.Linq.Table'1 ' 的第一个参数的扩展方法 'Where' (您是否缺少 using 指令或程序集引用?)
来自
var users = context.Users.Where(u=>u.Username == Username);
我已经清除了
中的所有文件Windows\Microsoft.Net\Framework 2.0.50727\临时 ASP.NET 文件 Windows\Microsoft.NET\Framework 4.0.30319\临时 ASP.NET 文件 Windows\Microsoft.NET\Framework64 2.0.50727\临时 ASP.NET 文件 Windows\Microsoft.NET\Framework64 4.0.30319\临时 ASP.NET 文件
我已经尝试过“干净的解决方案”以及我可以炮制的每种重建变体,但成功率为零。 有谁知道为什么解决方案中的一个项目无法编译,而其他项目可以编译? DataLayer 项目似乎可以很好地编译 Linq,并且可以毫无问题地识别“using”和“Where”,而其他项目则无法编译。
在黑暗中拍摄,但尝试使用 /ResetSkipPkgs 开关启动 VS
http://msdn.microsoft.com/en-us/library/ms241276(VS.80).aspx
”不包含“Where”的定义,并且没有扩展方法“Where”接受类型为“
”的第一个参数当缺少对 System.Core 程序集的引用或文件顶部缺少“using System.Linq”时,我会看到此错误。