6

当我在 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"/>

帮助?:-)

4

2 回答 2

5

如果您甚至不能使用var,则表明它甚至没有使用正确版本的 C# 编译器。var(只要您使用的是 C# 3 或 C# 4 编译器,即使面向 .NET 2.0,您也应该能够使用它。)我会先集中精力让它工作。

您是否有可能在 IIS 上运行但没有正确配置?可能值得围绕这方面查看您的网站配置,并可能重新运行 aspnet_regiis。

于 2010-09-30T10:42:54.147 回答
2

我刚刚修复了一个类似的问题,为元素添加了一个targetFramework="4.0"属性compilationweb.config

修改后的相关片段为:

<compilation debug="true" targetFramework="4.0">
  <assemblies>
    <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
  </assemblies>
</compilation>
于 2014-08-14T08:29:07.563 回答