Asp.net 当gac程序集移动到global web.config中时,visual studio 2k8(和2k10)无法编译web应用程序

Asp.net 当gac程序集移动到global web.config中时,visual studio 2k8(和2k10)无法编译web应用程序,asp.net,visual-studio,gac,Asp.net,Visual Studio,Gac,我有许多ASP.NET 3.5 web应用程序,其中包含详细的应用程序级web.config文件,我希望精简这些文件并使其更具可读性 Visual Studio 2010刚刚到来,并且已经开始“清理”web.config的各个部分-因此现在是我继续做好工作并在web.config文件的其他区域执行相同操作的最佳时机 目前,我有几个第三方程序集,它们都在GAC中注册,然后在每个应用程序级别的Web.Config中引用它们,见下文 <configuration> <syst

我有许多ASP.NET 3.5 web应用程序,其中包含详细的应用程序级web.config文件,我希望精简这些文件并使其更具可读性

Visual Studio 2010刚刚到来,并且已经开始“清理”web.config的各个部分-因此现在是我继续做好工作并在web.config文件的其他区域执行相同操作的最佳时机

目前,我有几个第三方程序集,它们都在GAC中注册,然后在每个应用程序级别的Web.Config中引用它们,见下文

<configuration>
    <system.web>
        <compilation defaultLanguage="C#" debug="true">
            <assemblies>
                <add assembly="AjaxControlToolkit, Version=3.0.30512.20315, Culture=neutral, PublicKeyToken=28F01B0E84B6D53E"/>
                <add assembly="aspNetEmail, Version=3.5.2.0, Culture=neutral, PublicKeyToken=BC571E8DA1C1F543"/>
                <add assembly="aspNetDns, Version=3.0.0.0, Culture=neutral, PublicKeyToken=BC571E8DA1C1F543"/>
                <add assembly="Microsoft.Practices.EnterpriseLibrary.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="Microsoft.Practices.EnterpriseLibrary.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            </assemblies>
        </compilation>
    </system.web>
</configuration>

我已将上述编译节点移动到位于Windows\Microsoft.NET\Framework64\v4.0.30319\config\web.config的全局web.config文件中,并且应用程序在IIS7下运行良好,即应用程序在查找这些GAC程序集时没有问题

但是,当我现在在visual studio 2k8或2k10中编译(shift+ctrl+b)我的web应用程序时,我遇到了一个常见的错误“找不到类型或命名空间名称'aspNetDns'(是否缺少using指令或程序集引用?)

要让visual studio识别这些GAC库的下落,我必须做些什么?我试着将它们复制到windows\system32中,但没有任何乐趣

救命!:)


注意:我也尝试过使用machine.config,但仍然没有成功

将程序集拖放到正在重新编译的本地计算机上的c:\windows\assembly。

将程序集拖放到正在重新编译的本地计算机上的c:\windows\assembly。

解决了这个问题

我需要编辑x86目录中的global web.config(以及x64版本)-x86版本显然是Visual Studio在编译应用程序时正在查看的版本,而IIS在运行应用程序时正在查看global web.config的x64版本。

解决了这个问题


我需要编辑x86目录中的global web.config(以及x64版本)-x86版本显然是Visual Studio编译应用程序时看到的版本,而IIS在运行应用程序时正在查看x64版本的global web.config。

正如我在帖子中所说的,所有这些程序集都已经在GAC中-执行此拖放操作只会弹出一个错误“当该文件已经存在时,无法创建/shadow copy'whater.dll”正如我在文章中所说的,所有这些程序集都已经在GAC中了-执行此拖放操作只会弹出一个错误“当该文件已经存在时,无法创建/shadow copy'whatever.dll”