为什么VS编译器抱怨在使用嵌套配置文件时找不到程序集,但IIS中的ASP.NET引擎没有问题?

为什么VS编译器抱怨在使用嵌套配置文件时找不到程序集,但IIS中的ASP.NET引擎没有问题?,asp.net,visual-studio-2010,web-config,data-visualization,Asp.net,Visual Studio 2010,Web Config,Data Visualization,我现在看到的是ASP.NET WebForms.NET 3.5中的一个web.config,其中包含所有主要配置文件,如下所示: <configuration> <system.web> <membership configSource="config\membership.config"/> <authentication configSource="config\authentication.config"/> <

我现在看到的是ASP.NET WebForms.NET 3.5中的一个web.config,其中包含所有主要配置文件,如下所示:

<configuration>
<system.web>
    <membership configSource="config\membership.config"/>
    <authentication configSource="config\authentication.config"/>
    <machineKey configSource="config\machineKey.config"/>
    <compilation debug="true">
        <assemblies>
            <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        </assemblies>
    </compilation>
    <customErrors mode="Off"/>
    <authorization>
        <deny users="?"/>
    </authorization>
    <roleManager enabled="true" cacheRolesInCookie="true"/>
    <pages configSource="config\pages.config"/>
    <httpHandlers configSource="config\httpHandlers.config"/>
    <httpModules configSource="config\httpModules.config"/>
    <webServices>
        <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
        </protocols>
    </webServices>
</system.web>
</configuration>

如果我在VS2010中编译源代码,它会抱怨找不到.NET数据可视化库(
错误14无法加载文件或程序集'System.Web.DataVisualization,Version=3.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35'或其依赖项之一。系统找不到指定的文件。sourcecodefile行
),如果我使用aspnet_编译器编译该文件或将其放入IIS,则一切正常

我怎样才能阻止这种情况在VS中发生

我必须将这些配置设置带回web.config吗


Casini的配置和IIS开发服务器都没有问题,文件也不在GAC中(不管怎么说,不是3.5版,是4.0版),我不会把它放在那里解决这个问题(我会把所有东西都放回web.config中)dll文件位于bin文件夹中。

您需要将对
System.Web.DataVisualization
程序集的引用添加到Visual Studio项目中。Visual Studio不会针对“References”文件夹中未列出的任何程序集进行编译

在解决方案资源管理器中的项目下,右键单击“引用”文件夹,然后单击“添加引用…”

选择并添加缺少的部件


问题已解决。

但它没有安装到GAC上,当我通过这种方法安装它时,它仍然无法找到它。唯一的解决方案是将它安装到GAC上,这是我有意避免的。我希望我的开发机器尽可能地模仿服务器,尽管我可以(现在已经有了)将它安装到GAC,这不应该是一项要求,因为它在/bin文件夹中,正如我被告知的那样。所以,问题没有解决,但关于添加它需要做什么的详细说明。@jcolebrand首先,您的解决方案属性错误地针对某个.NET客户端配置文件而不是完整的.NET配置文件的可能性有多大?请参阅:--当您说程序集不在GAC中时,您是说它完全不存在于开发机器上吗???这不对。检查目标。我的意思是它不在开发机器上,除了在解决方案/bin文件夹中。这是一个“网站”这不是一个解决方案。但我完全知道如何区分解决方案引用是指向bin文件夹还是指向GAC。使用网站菜单、开始选项、引用,因此我知道它是在GAC中查找它,而不是在/bin文件夹中。出于某种原因,它认为dll必须在GAC中,而没有文件/引用p我现在有点困惑。当你安装.NET Framework时,所有的程序集都应该是可用的,你不必在任何地方安装任何东西。但是你必须在你的项目中添加对程序集的引用。有些地方很糟糕。你给了它一次老的大学尝试,这是值得赞赏的。添加因为我确信你给了我洞察力,但主要是因为我继续前进。如果有人有更好的答案,他们可以加上它,我会重新考虑勾选。这个问题充其量只是一个烦人的问题。