2010-09-30 136 views
6

竟然不翼而飞。当我打开Visual Studio 2010中我的ASP网网站的属性说“目标框架3.5”,但是当我尝试使用LINQ的命名空间编译器抱怨它。System.Linq的命名空间参照System.Core.Dll

“的类型或命名空间名称‘变种’找不到(是否缺少using指令或程序集引用?)”

“的类型或命名空间名称的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"/> 

帮助? :-)

回答

5

如果你甚至不能使用var,这表明它甚至没有使用C#编译器的正确版本。 (你应该能够针对.NET 2.0时使用var甚至,只要你使用C#3或C#编译器4)我会集中精力是其他任何工作之前先。

有没有可能是你在IIS上运行,但不具有适当配置?这可能是值得关注的东西围绕你的网站配置,并可能重新运行aspnet_regiis。

+0

感谢您指出我在正确的方向 - 当我在寻找在YSOD和扩大显示详细的编译器输出,这是我所得到的:微软(R)的Visual C#2005编译器版本8.00.50727.4016 用于Microsoft(R)的Windows(R)2005 Framework版本2.0.40607 ---但我犹豫运行aspnet_regiis,怎么可以我确定我没有打破东西?这是一个活的服务器。 – joeriks 2010-09-30 11:10:14

+0

...但C#3编译器在哪里? ... ... – joeriks 2010-09-30 11:17:08

+0

学习新的东西在这里...有很多在该网站的IIS净统计部组件2.0引用。 (在web.config中找不到)。 – joeriks 2010-09-30 11:26:45

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> 
+0

感谢我amrtn.it工作。 – 2017-02-01 12:44:36