System.Linq namespace mancante anche con riferimento alla System.Core.dll
-
26-09-2019 - |
Domanda
Quando ho aperto un sito web Asp Net di mine in Visual Studio 2010 le proprietà dicono "Target Framework 3.5", tuttavia quando provo a utilizzare lo spazio dei nomi Linq il compilatore si lamenta su di esso.
"Il tipo o dello spazio dei nomi il nome 'var' non è stato trovato (che le manca un un riferimento all'assembly direttiva using o?)"
"Il tipo o dello spazio dei nomi il nome 'Linq' non esiste nello spazio dei nomi 'Sistema' (che le manca un riferimento all'assembly?)"
I riferimento manualmente alcuni DLL per risolvere il mio problema, ma ancora senza successo.
<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"/>
Aiuto? : -)
Soluzione
Se non è possibile anche utilizzare var
, che suggerisce che non è nemmeno utilizzando la versione giusta del compilatore C #. (Si dovrebbe essere in grado di utilizzare var
anche quando mira NET 2.0, fino a quando si sta utilizzando il C # 3 o C # 4 compilatore.) Avrei concentrarsi su come ottenere che il lavoro prima di ogni altra cosa.
E 'possibile che si sta eseguendo su IIS, ma non avete che configurato in modo appropriato? Potrebbe valere la pena guardare la configurazione del sito web intorno a quel lato delle cose, ed eventualmente eseguire nuovamente aspnet_regiis.
Altri suggerimenti
Ho appena risolto un problema simile aggiungendo un attributo targetFramework="4.0"
all'elemento compilation
in web.config
Il frammento rilevanti modificata è:
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>