从ASP.NET 4 web.config中的<compilation> <assemblies>中删除所有程序集

Mer*_*itt 4 asp.net

可能重复:
Web.Config中Assemblies节点的用途是什么?

我删除了compilation/assemblies元素中的所有'add'元素.

所以最初在我的应用程序的根web.config文件中:

<compilation debug="true" targetFramework="4.0">
  <assemblies>
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
  </assemblies>
</compilation>
Run Code Online (Sandbox Code Playgroud)

现在它看起来像:

<compilation debug="true" targetFramework="4.0">
  <assemblies>
  </assemblies>
</compilation>
Run Code Online (Sandbox Code Playgroud)

我的申请仍然有效.项目文件仍然包含我删除的所有引用,但在编译期间(visual studio内部),此部分似乎未被使用.

到底是怎么回事?

Mit*_*ers 9

应用程序的此部分中的引用用于动态执行的自动ASP.NET编译.如果要部署已编译的站点(没有.cs或.vb文件),则可以将其删除.