我刚刚在Visual Studio 2010中创建了一个Linq-to-SQL .dbml文件。
我收到以下2个错误,共计60次,大多数是第一次。
我在这里和其他网站上发现了各种类似的问题,所有这些似乎都说需要添加一些额外的装配。
我添加了所有建议,问题仍然存在。另一个奇怪的事情是VS2010本身没有强调编辑器屏幕中的错误,但它确实在错误日志中显示它们。
无论如何,我已经看到所有现有的主题并应用了他们的解决方案,问题仍然存在。
一些技术细节:
这是我的web.config文件中列出的程序集:
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.SqlXml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
答案 0 :(得分:15)
我发现this link为我解决了这个问题。网是必须将以下内容添加到web.config:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</assemblies>
</compilation>
</system.web>
</configuration>
请注意,配置/ system.web / compilation标记已经存在,并且需要添加程序集/添加程序集标记。即使在构建时VS很容易找到System.Data.Linq。
失败发生在App_Code.LinqToObservations.designer.cs中,这是Linq从我的LinqToObservations.dbml文件中生成的代码。
(附加背景:我可能遇到这种情况,因为我使用找到here的程序后启用了Linq。)
答案 1 :(得分:7)
除了我的Windows 7是64位之外,我在完全相同的配置上遇到了同样的问题。通过执行[project name] -> References -> Add reference -> System.Data.Linq
为什么要手动添加引用?
答案 2 :(得分:7)
重要的是,您必须在网络配置中设置
<system.web>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
答案 3 :(得分:3)
您可以尝试以下操作:
添加对 System.Data.Linq 的引用(右键单击References文件夹|选择添加引用|选择.Net选项卡(默认选中)|选择 System.Data.Linq 引用|单击“确定”。
我希望这会对你或其他人有所帮助。