2010-09-30 14 views
6

Kiedy otwieram stronę sieci Web Asp Net w Visual Studio 2010, właściwości mówią "Target Framework 3.5", jednak gdy próbuję użyć przestrzeni nazw Linq kompilator narzeka na to.Brak przestrzeni nazw System.Linq nawet w odniesieniu do System.Core.Dll

„typu lub obszaru nazw«var»nie można odnaleźć (czy brakuje using dyrektywa lub odwołania do zestawu?)”

„typu lub obszaru nazw«Linq»nie istnieje w obszarze nazw "System" (czy brakuje odniesienia do zestawu?) "

Ręcznie odwoływałem się do niektórych bibliotek dll, aby naprawić mój problem, ale nadal nie udało się.

<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"/> 

Pomoc? :-)

Odpowiedz

5

Jeśli nie możesz użyć nawet var, to sugeruje, że nie używa nawet właściwej wersji kompilatora C#. (Powinieneś być w stanie używać var nawet podczas kierowania na .NET 2.0, pod warunkiem, że używasz kompilatora C# 3 lub C# 4). Skoncentruję się na tym, żeby to działanie działało najpierw, zanim cokolwiek innego.

Czy to możliwe, że używasz usług IIS, ale nie masz odpowiednio skonfigurowane? Warto spojrzeć na konfigurację swojej witryny wokół tej strony i ewentualnie ponownie uruchomić aspnet_regiis.

+0

Dzięki za naprowadzenie mnie we właściwym kierunku - gdy szukam na YSOD i rozwijanie Pokaż szczegółowe wyniki kompilatora jest to, co otrzymuję: Microsoft (R) Visual C# 2005 Compiler wersja 8.00.50727.4016 dla Microsoft (R) Windows (R) 2005 Framework wersja 2.0.50727 --- ale ja się waham z uruchomionym aspnet_regiis, w jaki sposób Jestem pewien, że nie łamie rzeczy? To serwer na żywo. – joeriks

+0

... ale gdzie jest ten kompilator C# 3? ... – joeriks

+0

... uczenie się nowych rzeczy tutaj ... istnieje wiele odniesień 2.0 w zestawach sekcji Kompilacja IIS .Net. (Nie znaleziono w pliku web.config). – joeriks

2

Właśnie stałe podobnego problemu dodanie atrybutu do elementu compilationtargetFramework="4.0" w web.config

Zmodyfikowany istotny fragment brzmi:

<compilation debug="true" targetFramework="4.0"> 
    <assemblies> 
    <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
    </assemblies> 
</compilation> 
+0

Dzięki amrtn.it pracuje dla mnie. –

Powiązane problemy