I have a Solution that contains a website and its web.config and
another project named testWebSite.
I need to access to the web.*config located in the website project
from testWebSite like this:
string dbCs =
ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
This code failed and generates an exception because (it seems) that
the web.config is available only in the folder where it is.
So what is the solution for Access to a web.config from another
project ?
Sam
Michael Nemtsev - 19 Dec 2007 23:34 GMT
extract the setting u need to access to separate config file and refer to
this file from both web.configs

Signature
WBR, Michael Nemtsev [.NET/C# MVP].
Blog: http://spaces.live.com/laflour
> I have a Solution that contains a website and its web.config and
> another project named testWebSite.
[quoted text clipped - 9 lines]
>
> Sam
Mohamad Elarabi - 20 Dec 2007 02:23 GMT
You can do this but my guess is that both sites need to be up and running and
the context of the first site should be trusted on the site you're trying to
read the config file from. If not you might have to specify different
parameters for access.
Here is the code in 2 lines:
system.configuration.configuration oConfig =
system.web.configuration.webConfigurationManager.openWebConfiguration("/",
"testWebSite") as system.configuration.configuration;
string dbCs =
oConfig.connectionStrings.connectionStrings.item["myConnectionString"];
perhaps a .toString might be needed or a .value etc. at the end. The
reference to "testWebSite" above should match the name of the site in IIS not
the project's name. That's why I'm not sure how this would work in debug mode.
Also the OpenWebConfiguration method has several other signatures, so in
case you need to pass in an identity token or a username/password you can
check these here
http://msdn2.microsoft.com/en-us/library/system.web.configuration.webconfigurati
onmanager.openwebconfiguration.aspx
Generally, I'd advise you reevaluate the reason you're having to do this.
There may be a better solution to this. Unless you're only doing this for
testing.
Hope that helps. Good luck.

Signature
Mohamad Elarabi
Lead Developer. MCTS, MCPD.
> I have a Solution that contains a website and its web.config and
> another project named testWebSite.
[quoted text clipped - 9 lines]
>
> Sam
skneife@gmail.com - 20 Dec 2007 06:48 GMT
I need to add some precision:
The second project is not a webSite but a Library (dll) for testing).
Sam
Mohamad Elarabi - 20 Dec 2007 07:31 GMT
In that case you'd do the following 3 lines:
string pathToConfigFile = "c:\mydllprojectfolder\mydll.config";
system.configuration.configuration oConfig =
system.configuration.configurationManager.OpenExeConfiguration(pathToConfigFile) as system.configuration.configuration;
string dbCs =
oConfig.connectionStrings.connectionStrings.item["myConnectionString"].connectionString;
Again I'd like to urge you to reconsider the reason you're having to do
this. If you're doing this to get a dev database connection string or other
dev environment information you're doing too much work for something that
could be done within the website's config file in much less effort.
Let me know if this helps. Thanks,

Signature
Mohamad Elarabi
Lead Developer. MCTS, MCPD.
> I need to add some precision:
> The second project is not a webSite but a Library (dll) for testing).
>
> Sam