I've had this working for a while; my implementation follows the example detailed in this post http://community.discountasp.net/showthread.php?t=7625 which highlights the fact that we need to copy the System.Web.DataVisualization assembly into the bin folder. It might just be my setup but I find I have a slight problem with this method. My root application uses the chart controls and this works fine at root app level, however when other sub folder applications run they always complain with "Parser Error Message: Could not load file or assembly 'System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified." I've tried removing all trace of the System.Web.DataVisualization assembly in the sub application web.config files with various <clear/> and <remove..> declarations but nothing seems to work. The only way I've found so far to get the sub applications working is to also copy the System.Web.DataVisualization assembly into the sub application bin folders which is obviously not very good. I'm pretty sure that if this assembly was in the GAC this problem would go away but that doesn't really explain what's going on here. Does anyone have a clue about this or also have this problem? Cheers Joe
If you've configured your sub-directories as application starting points using the Web Application Tool you'll need to copy the System.Web.DataVisualization.dll into the bin folder. It's repetitive and having the file in the global assembly cache would resolve the problem for a single account that makes multiple references, I'm afraid that as of this moment, we're unable to but perhaps in the near future, we will be making the assembly available on all of our web servers.
I would agree with this if the sub applications were actually using the charting functionality but the thing is they don't and the only way I can get the sub apps working without throwing an exception is to copy the charting assembly into the bin folder at the sub app level. Doing this seems wasteful, repetitive and a waste of time to be honest. Is this really required or do you know if the sub app web.config can override this dependency?
Oh, I see what the problem is now. If you want to stop a lot of the configuration settings trickling down into your child applications, I would highly recommend reading the following from ASP.NET FAQ: http://www.aspdotnetfaq.com/Faq/how...ld-applications-in-subfolders-in-asp-net.aspx
.Net has inheritance property so assemblies being called in the root maybe inherited on the sub applications if you do not specifically remove them from the config file. You should be able to stop the inheritance by adding this line on the roots config file. <location path="." inheritInChildApplications="false">
Thanks guys for the sterling support. Adding <location path="." inheritInChildApplications="false"> to my root application web.config has sorted the problem out for the sub applications. That's an option I was not aware of and not an easy one to find considering Visual Studio knows nothing about it because the C:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas\DotNetConfig30.xsd is incomplete in the location element. Ignoring that slight problem it does work though and you learn something new every day!