Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compilation error in .NET 4.0 web.config - Linq not found

I can compile and test my .NET 4.0 web application just fine within Visual Studio 2010. If, however I point my local IIS to the folder containing the application, I get the following error:

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 

How is it that the web.config from the framework won't compile for me?

I have found similar problems on the web and most just say 'add this reference...', but it can't be the right thing to edit the default web.config -- can it?

like image 415
nickd Avatar asked Jun 27 '11 16:06

nickd


2 Answers

This worked for me. Have this assemblies in the web.config file

<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>
like image 170
Jamal Avatar answered Nov 15 '22 06:11

Jamal


I think you need to add the assemblies below in your web.config -

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

You will get System.Linq in core assembly

like image 34
Sachin Shanbhag Avatar answered Nov 15 '22 08:11

Sachin Shanbhag