[英]Could not load file or assembly 'System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies
[英]Module 'System.Data.Linq' Version=4.0.0.0, Culture=neutral, Publickeytoken=b77a5c561934e089' should be referenced
我有一个Visual Studio 2012 Web应用程序(fw.4.5),我尝试linq到我的SQL数据库。 我已经为我的项目添加了一个datacontext并将其放在根文件夹中。 在datacontext文件中,我从SQL 2012 expressdatabase中添加了一个名为GlobalMenu的表。
我正在尝试使用以下命令使用linq访问数据:
DataContextDataContext db = new DataContextDataContext();
var menupages = from p in db.GlobalMenus
select p;
智能感知报告:
Module 'System.Data.Linq' Version=4.0.0.0, Culture=neutral, Publickeytoken=b77a5c561934e089' should be referenced
当我编译并尝试运行我的应用程序时,我得到:
CS0012: The type 'System.Data.Linq.DataContext' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
System.Data.Linq 4.0.0.0在我的项目中被重新启用,我手动添加了
<dependentAssembly>
<assemblyIdentity name="System.Data.Linq" publicKeyToken="b77a5c561934e089"/>
<bindingRedirect oldVersion="1.0.0.0-4.5.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
在web.config中的运行时部分。 但是错误仍然存在。
另一个问题是当我将我的DataContext文件放入App_Code文件夹时,我得到另一个错误。
智能感知报告:无法解析符号'选择'
编译并运行Web应用程序后,我在设计器文件中的datacontext文件中遇到运行时错误。
using System.Data.Linq;
using System.Data.Linq.Mapping;
无法解析符号'Linq'。
这个Web项目基于标准的“ASP.NET Web Forms应用程序”,我正在尝试做的是退出基本编程,所以我无法看到我在这里做错了什么。
此错误通常是因为DLL版本不匹配。 尝试删除bin
文件夹并重建应用程序。
我相信这意味着您正在引用在另一个DLL(程序集)中定义的类/方法。 您的项目需要引用此库(DLL /程序集),以便它可以编译您的项目。 (与web / app配置文件无关)
在项目中,右键单击“参考”部分标题,然后选择“添加参考”。 浏览到程序集的位置(它应位于'Assemblies-> Framework-> System.Data.Linq下)
干杯
它似乎也可以将“Linq to SQL classes”添加到“APP_Code”文件夹中。 当它存储在APP_Code文件夹中时,我无法查询datacontext。
在我的例子中, Restart Visual Studio
> delete the reference
> add the right reference again
> clean solution
> rebuild solution
工作原理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.