.NET 4.0 web.config中的编译错误 - 找不到Linq

nic*_*ckd 13 asp.net .net-4.0

我可以在Visual Studio 2010中编译和测试我的.NET 4.0 Web应用程序.但是,如果我将本地IIS指向包含该应用程序的文件夹,则会出现以下错误:

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 
Run Code Online (Sandbox Code Playgroud)

如何从框架中的web.config不能为我编译?

我在网上发现了类似的问题,大多数只是说'添加此引用...',但编辑默认的web.config是不对的 - 可以吗?

小智 43

这对我有用.将此程序集放在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>
Run Code Online (Sandbox Code Playgroud)

  • 澄清一下,这位于“&lt;system.web&gt;”内部。 (2认同)
  • 以防任何读者使用mvc,提醒一下这是在主web.config中,而不是在Views文件夹中. (2认同)

Sac*_*hag 12

我想你需要在web.config中添加下面的程序集 -

<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Run Code Online (Sandbox Code Playgroud)

你将进入System.Linq核心组装