为什么Web.config在项目文件夹而不是bin中查找configSource?

Sha*_*ane 7 asp.net configuration web-config visual-studio-2010

我已经定义了我的configSource来查找名为config的子目录中的配置文件,如下所示:

<connectionStrings configSource="config\ConnectionStrings.config" />
Run Code Online (Sandbox Code Playgroud)

我将配置文件定义为链接文件,因此当构建发生时,它会被复制到我的bin\config文件夹中.

但是,我的Web应用程序项目正在查看开发项目配置文件夹而不是部署 bin\config文件夹.我用Process Monitor证实了这一点.

所以我有几个问题:

  1. 为什么它看起来而不是bin\config - 我错过了某个地方的相对路径设置吗?
  2. 链接文件不会复制到那里,只能复制到bin.我的理解是这是正确的行为.这是正确的假设还是应该复制到两个位置?如果是这样,启用该设置的设置是什么?
  3. 将子文件夹用于链接文件是不错的做法,还是应该将它们留在项目根目录中?

非常感谢!

更新:我正在使用此处描述的方法:http://consultingblogs.emc.com/jamesdawson/archive/2008/06/03/using-linked-files-with-web-application-projects.aspx 以确保配置文件被复制,做了一些实验我回答了问题#2.不,它不是Visual Studio中的默认行为,但这种解决方法可确保将文件复制到两个位置.

Мit*_*tke 2

我相信这会对你有一点帮助。 如何使用多个 Web.config 文件

基本上,您可以拥有任意数量的配置文件,只要它们位于 Web 应用程序的单独文件夹中即可。我对你提到“不同的网络项目”的部分评论感到有点困惑,你能在那个部门更具体一些吗?另外,我在msdn上找到了更多有关此内容的详细信息,我建议您查看一下。

快乐编码!