2010-09-30 48 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