当我在Visual Studio 2010中打开我的Asp Net网站时,属性会说“Target Framework 3.5”,但是当我尝试使用Linq命名空间时,编译器会抱怨它。
“找不到类型或命名空间名称'var'(您是否缺少using指令或程序集引用?)”
“命名空间'System'中不存在类型或命名空间名称'Linq'(您是否缺少程序集引用?)”
我手动引用了一些dll来修复我的问题,但仍然没有成功。
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
帮助? : - )
答案 0 :(得分:5)
如果你甚至不能使用var
,那表明它甚至没有使用正确版本的C#编译器。 (即使在使用C#3或C#4编译器时,你也应该能够使用var
,只要你使用C#3或C#4编译器。)我会集中精力在其他任何事情之前先使用它。
您是否可能在IIS上运行但没有正确配置?可能值得关注这方面的网站配置,并可能重新运行aspnet_regiis。
答案 1 :(得分:2)
我刚刚解决了类似问题,在targetFramework="4.0"
compilation
元素添加了web.config
属性
修改后的相关片段是:
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>