Asp.net 配置源文件';mycustom.config';也在父级中使用,这是不允许的
如果您是在VS2010中开发ASP.NET网站的。(或2015年之前) 并且您的站点正在使用虚拟路径,例如“” 您可以使用Web.config中的configSource来定制配置文件,如下所示:Asp.net 配置源文件';mycustom.config';也在父级中使用,这是不允许的,asp.net,visual-studio-2010,visual-studio-2015,virtual-directory,configsource,Asp.net,Visual Studio 2010,Visual Studio 2015,Virtual Directory,Configsource,如果您是在VS2010中开发ASP.NET网站的。(或2015年之前) 并且您的站点正在使用虚拟路径,例如“” 您可以使用Web.config中的configSource来定制配置文件,如下所示: <configuration> <configSections> <section name="MyConfig" type="mydomain.MyConfig_Model, mydomain" /> </configSect
<configuration>
<configSections>
<section name="MyConfig" type="mydomain.MyConfig_Model, mydomain" />
</configSections>
<ConfigRoot configSource="mycustom.config" />
...
</configuration>
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
...
您可以在开发中进行测试,并且可以在生产IIS下的虚拟路径中顺利运行站点
一切正常
但当您在VS2015中打开解决方案时 由于VS2015不再提供“ASP.NET开发服务器” 你必须使用IISEXPRESS来开发和测试你的网站 但是当您使用IISEXPRESS,并在web项目属性中将“项目URL”设置为“”时 按“F5”,您将得到错误消息: 配置源文件“mycustom.config”也在父级中使用,这是不允许的。
原因是IISEXPRESS将创建2个站点“和” 两个站点将指向相同的物理路径,这是不允许的 所以会有那个错误信息
我在谷歌上搜索了很多天,找到了解决这个问题的最终方法,并在这里分享 解决办法是:
<site name="MyWeb.Web-Site" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\MyWeb\MyWeb.Web" />
</application>
<application path="/myvirpath" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\MyWeb\MyWeb.Web" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:55923:localhost" />
</bindings>
</site>
<configuration>
<configSections>
<section name="MyConfig" type="mydomain.MyConfig_Model, mydomain" />
</configSections>
<ConfigRoot configSource="mycustom.config" />
...
</configuration>
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
我们遇到了同样的问题,并用几乎相同的解决方案解决了它。我们的站点在站点下方有一个虚拟目录。因此,我们将
path=“/”
部分设置为网站的物理路径,将path=“/myvirpath”
设置为虚拟目录的物理路径。成功了。谢谢。我刚刚删除了旧的.vs文件夹。下一次VS开始调试时,它重建了.VS文件夹,解决方案现在就可以工作了。谢谢奇诺的提示。通常你会先问这个问题。然后回答你自己的问题,如果你找到了解决办法。我认为,当浏览这一页时,还不清楚这个问题是否已经包含了答案+1用于指出applicationhost.config。