为什么VS编译器抱怨在使用嵌套配置文件时找不到程序集,但IIS中的ASP.NET引擎没有问题?
我现在看到的是ASP.NET WebForms.NET 3.5中的一个web.config,其中包含所有主要配置文件,如下所示:为什么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"/> <
<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时,所有的程序集都应该是可用的,你不必在任何地方安装任何东西。但是你必须在你的项目中添加对程序集的引用。有些地方很糟糕。你给了它一次老的大学尝试,这是值得赞赏的。添加因为我确信你给了我洞察力,但主要是因为我继续前进。如果有人有更好的答案,他们可以加上它,我会重新考虑勾选。这个问题充其量只是一个烦人的问题。