ASP.Net/web.config-“文件”;条目';x';已经输入了“?”;?

ASP.Net/web.config-“文件”;条目';x';已经输入了“?”;?,asp.net,web-config,Asp.net,Web Config,在ASP.Net中,当我看到错误消息“条目“x”已经输入了”,我认为这意味着在Web.Config中定义了两次名称(在本例中为“x”) 这是对导致错误的原因的合理总结,还是有其他方法可以产生错误 有问题的“x”在web.config中没有出现两次-是否知道还有什么可能导致此错误?可能是您有嵌套的web.config。如果您在同一目录层次结构中运行多个应用程序,您可能会看到这一点。例如,假设IIS指向某个目录的根目录,但在该目录中有一个文件夹,其中包含另一个应用程序,并且有一个vdir指向该应用程

在ASP.Net中,当我看到错误消息“条目“x”已经输入了”,我认为这意味着在Web.Config中定义了两次名称(在本例中为“x”)

这是对导致错误的原因的合理总结,还是有其他方法可以产生错误


有问题的“x”在web.config中没有出现两次-是否知道还有什么可能导致此错误?

可能是您有嵌套的web.config。如果您在同一目录层次结构中运行多个应用程序,您可能会看到这一点。例如,假设IIS指向某个目录的根目录,但在该目录中有一个文件夹,其中包含另一个应用程序,并且有一个vdir指向该应用程序-您可能确实遇到了此问题,因为ASP.Net将首先在根目录解析web.config,然后是vdir指向的应用程序的web.config。

+1到Erics答案。此外,如果您升级web项目(即从VS 2008升级到VS 2010),它在备份文件夹中为您保留的web.config文件也会出于同样的原因导致此错误

我在虚拟目录从根站点继承设置时看到过这种情况。检查父级的另一个web.config是否也包含AppSettings键。

如果您有嵌套的web.config文件,则两个web.config文件中的相同连接字符串条目可能会导致此错误。您可以通过在嵌套的web.config文件中添加
标记来解决此问题,如下所示:

<connectionStrings>
    <clear/>
    <add name="MyEntities" connectionString="blah,blah,etc." />
</connectionStrings>

我正在使用VB.NET,并尝试过,但调试后,它忽略了我的更改,为什么?