我似乎无法弄清楚为什么我无法添加对.net命名空间System.Linq
的引用。我使用aspnet_regiis来检查我是否安装了最新版本的asp.net:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -lv
2.0.50727.0 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll
4.0.30319.0 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
4.0.30319.0 C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
我也尝试添加对System.Core
的引用,但仍然无法引用System.Linq
dll。
同样在我的web.config中,在
下 <assemblies>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
如前所述,在我的网站应用程序中存在对System.Core和System.Data.Linq的引用之前提到:在属性页面下 - &gt;参考我可以清楚地看到现有的参考我再次添加他们以防万一,仍然我不能使用 System.Linq或System.Linq.Data NameSpaces。
任何想法如何我可以参考System.Linq dll将不胜感激。
答案 0 :(得分:12)
System.Core
是System.Linq
命名空间所在的dll。只要您在项目中引用System.Core
,就应该可以
using System.Linq;
在您想要使用Linq方法的任何源文件中。
在解决方案资源管理器中的References
下查看。如果没有System.Core那么:
答案 1 :(得分:10)
确保您的项目是3.0或更高版本。
右键单击您的项目,然后单击“添加引用”。
也许你正在寻找: System.Data.Linq
在此处查看:
最好的问候
答案 2 :(得分:3)
自提问以来已经有一段时间了,但万一其他人被卡住了,这个解决方案可能看起来很奇怪但对我有用:将目标框架从4.0更改为3.5,重建它,然后将其更改回4.0并重新重建。
答案 3 :(得分:0)
我有类似的问题。我在项目中使用的一些引用似乎没有解决,例如我使用System.Linq添加到我的项目中,即使引用了所有必需的命名空间。
当我从web.config文件属性中删除“只读”并重建项目时,它解决了。
答案 4 :(得分:0)
请记住同时执行这两项操作:
1如果VS Studio引用它,则在项目文件中手动引用System.Core会引发错误
2将此行添加到web.config(如果尚未存在):
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />