System.Core
アセンブリへの参照を追加しました。 web.config
は今持っている:WebプロジェクトにLinqサポートを追加しています。コンパイラのチョーク
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
IISはインテリセンスが拡張メソッドを示していますが、コンパイラは、LINQの構文を理解していないASP.NETのバージョン2.0.50727
を使用するように設定されています。私はソリューション内の他のクラスライブラリでLinqを使うことができます。
これを修正するにはどうすればよいですか?
** EDIT: 私は<system.codedom>
ノードを持っていないのweb.config
<system.web>
<compilation
<assemblies>
<!-- references here //-->
</assemblies>
<compilers>
<compiler language="c#" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" extension=".cs" compilerOptions="/d:DEBUG;TRACE" />
</compilers>
</compilation>
</system.web>
で、すでに以下のものを持っています。 これは1.xから2.xに3.5に移行されたプロジェクトです。から<compilers>
を削除して<system.codedom>
に追加しますか?
私は、これは大規模なエンタープライズプロジェクトです(と私はあまりにも多くのweb.configファイルを台無しにしたいいけない)としてこの作業を取得するために必要な最小限の変更をしたいので、予めご了承ください **
ありがとう、試してみます。なぜ、コンパイラがソリューション内の他のプロジェクトのクラスライブラリのlinqクエリについて文句を言っていないのか不思議です。 – DotnetDude
@DotnetDude:それらはクラスライブラリであり、プロジェクトファイルはC#コンパイラを使用するように設定されています。 ASP.NETでは、あなたのdev/buildマシンのものではなく、サーバ上でコンパイラを使用する必要があります。 SxSのおかげで、使用するコンパイラが異なります。 – casperOne
あなたは私の編集を見ることができますか?ありがとう – DotnetDude