在ASP.Net中,当我看到错误消息“条目'x'已经输入时”我认为这意味着名称(在本例中为'x')在 Web.Config中即可。
这是对导致该错误的原因的合理总结还是有其他方式可以生成?
有问题的'x'在web.config中没有出现两次 - 有什么其他可能导致此错误的想法?
答案 0 :(得分:15)
如果嵌套了web.config文件,则两个web.config文件中的相同连接字符串条目都可能导致此错误。您可以通过在嵌套的web.config文件中添加<clear/>
标记来解决此问题,如下所示:
<connectionStrings>
<clear/>
<add name="MyEntities" connectionString="blah,blah,etc." />
</connectionStrings>
答案 1 :(得分:5)
可能是你嵌套了Web.configs。如果您在同一目录层次结构中运行多个应用程序,则可能会看到此情况。例如,假设您已经将IIS指向某个目录的根目录,但在该目录中是一个包含其他应用程序的文件夹,并且您有一个指向该应用程序的vdir - 您可能确实以ASP身份运行此问题.Net将首先解析根目录下的web.config,然后解析vdir指向的应用程序的web.config。
答案 2 :(得分:1)
+1给Erics回答。此外,如果您升级Web项目(即从VS 2008升级到VS 2010),它在备份文件夹中为您保留的web.config文件将导致此错误,原因相同。
答案 3 :(得分:0)
我见过这种情况发生在虚拟目录从根站点继承设置的地方。检查父级别的另一个web.config是否也不包含AppSettings键。