2011-06-27 10 views
8

.NET 4.0 WebアプリケーションをVisual Studio 2010でコンパイルしてテストすることはできますが、ローカルIISをアプリケーションが含まれているフォルダに向けると、次のエラーが表示されます。.NET 4.0でコンパイルエラーweb.config - Linqが見つかりません

Compiler Error Message: CS0234: The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?) 
Source Error: 
Line 388:    <add namespace="System.ComponentModel.DataAnnotations" /> 
Line 389:    <add namespace="System.Configuration" /> 
Line 390:    <add namespace="System.Linq" /> 
Line 391:    <add namespace="System.Text" /> 
Line 392:    <add namespace="System.Text.RegularExpressions" /> 

Source File: c:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config Line: 390 

フレームワークのweb.configはどのようにコンパイルされませんか?

ウェブで同様の問題が見つかりましたが、ほとんどの場合、「この参照を追加...」と言いますが、デフォルトのweb.configを編集するのは正しいことではありませんか?

+0

ローカルIISをどのようにフォルダに指しているかを指定しますか? IISにWebプロジェクトを適切に展開していますか? –

+0

そのファイルにこの行がありますか? @ System.Core、Version = 4.0.0.0、Culture =ニュートラル、PublicKeyToken = b77a5c561934e089 "/>'(System.LinqはSystem.Coreにあるはずです) – Rup

+0

@Greebo私は両方のフォルダにパブリッシュしようとしました私のプロジェクトフォルダにIISを指すだけです。どちらも動作しません。 – nickd

答えて

8

は、私はあなたのweb.configファイル内の下のアセンブリを追加する必要があると思う -

<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 

あなたはコアアセンブリこれは私のために働いた

30

System.Linqを取得します。このアセンブリはweb.configファイルにあります

<system.web> 
    <compilation debug="true"> 
     <assemblies> 
     <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.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
     <add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     </assemblies> 
    </compilation> 
</system.web> 
+0

明確にするために、これは ''の中に入ります。 – vaindil

+0

これは私のために働いた... –

+1

読者がmvcを使用する場合、ちょうどその場合、これはメインのweb.config内にあり、Viewsフォルダ内のものではないことを思い出させる。 – pwilcox

0

ウェブサイトをお持ちの場合、asp.netには適切な参照が必要です。 Webアプリケーションはそれを必要としません。

machine.configで参照されているアセンブリがいくつかあります。コードによってはアセンブリが不足している場合があり、machine.configまたはルートweb.configに追加できます。

関連する問題