Visual studio 2012 IIS express:无法添加类型为';添加';具有唯一的键属性';名称';着手

Visual studio 2012 IIS express:无法添加类型为';添加';具有唯一的键属性';名称';着手,visual-studio-2012,web-config,iis-express,Visual Studio 2012,Web Config,Iis Express,在VisualStudio中,解决方案->Web.Project->属性->Web,我已将我的项目Url从http://localhost:51123/至http://localhost:51123/NewProjectName我一直收到这个错误: 无法在添加的每个模块上添加唯一键属性“name”设置为…“的类型为“add”的重复集合项 添加一个删除标记是有效的,但在我更改url之前,它就应该是一个问题。有什么建议吗?我认为IIS Express可能有2个-块,它们都指向相同的物理路径 转到中的

在VisualStudio中,解决方案->Web.Project->属性->Web,我已将我的项目Url从
http://localhost:51123/
http://localhost:51123/NewProjectName
我一直收到这个错误:

无法在添加的每个模块上添加唯一键属性“name”设置为…“的类型为“add”的重复集合项


添加一个删除标记是有效的,但在我更改url之前,它就应该是一个问题。有什么建议吗?

我认为IIS Express可能有2个
-块,它们都指向相同的物理路径

转到中的IIS Express配置文件:
My Documents\IISExpress\config\applicationhost.config

搜索
NewProjectName

将根应用程序的物理路径更改为其他路径。将其指向一个空文件夹

应该是这样的:


如果您创建一个物理路径与项目文件夹相同的IIS网站,然后使用它为项目创建一个虚拟文件夹,您将看到此问题。
正在加载您的
Web.config
文件两次。

正如orjanto所指出的,创建一个空文件夹并将IIS网站指向它,然后使用它从VisualStudio创建一个虚拟文件夹

此外,请确保父文件夹中没有重复的web.config文件(例如:web.config备份文件)。这就是我的问题

我开始随机得到这个错误。我注意到iis express有两个站点


此双层导致IIS从第一个站点读取
web.config
,然后在
\WFM
处读取第二个站点,因此找到重复的站点。我只是停止了所有的站点,并从我的web项目路径中删除了
\WFM
。但是,您可以在IIS express中清除临时文件中的文件和文件夹。在我的例子中,我有多个版本的解决方案,其中一个解决方案的project\user配置在web项目URL中有一个额外的路径。VS 2015添加了它,或者有人将自己的用户配置签入TFS。希望这对其他人有所帮助。

项目属性内Web选项卡中的我的项目Url指向错误的Url,我无法更改它(“是否要创建虚拟目录?”并且VS被锁定在循环中(是->无法创建,否->操作取消),直到我手动将Url还原为(不正确)声明是以前的版本。解决方案是以管理员身份运行VS。我能够更改该url,一切都开始正常工作。希望它能有所帮助!

您可能会发现,在升级到最新的windows 10 service pack 2017年6月后,出现此问题是因为某些节点现在似乎出现在根配置(machine.config)下。我从web.config中删除了我的副本,所有这些都重新工作。

我遇到了相同类型的问题。运行在IIS上发布的网站时,显示了相同的错误

我在
wwwroot
文件夹(应用程序文件夹外)中看到一个
web.config
文件。 我删除了这个文件,应用程序运行正常

查找放置在错误文件夹(文件夹应用程序上方)中的
web.config
文件

祝你好运!

贴子为我解决了问题,但除此之外我还有一个问题。修复后,Internet Explorer仍然认为我的HTML页面是目录而不是文件。

我的IIS Express配置文件中有重复项:


注意第二个条目中的路径=“/login.html”

我的页面被重定向到“localhost:57018/login.html/”就像它是一个目录一样

删除第二个条目修复了配置文件副本的问题,但是我仍然有一个问题,Internet Explorer似乎认为/login.html/是一个目录(Internet Explorer 11)。为了诊断问题,我检查了Chrome,Chrome工作正常


我进入Internet Explorer,进入工具>Internet选项>常规选项卡。然后在“浏览历史”下节中,我删除了历史记录、Cookie和网站数据以及临时Internet文件。

所有
web.config
文件在计算机、IIS、项目和文件夹级别的位置上执行多个级联继承级别,每个级别都提供了更高的特定性

如果您遇到此错误,则表示您:

  • 在同一文件中添加同一密钥两次(不太可能,因为您可能会看到它)
  • 同一密钥已存在于继承链更高的单独文件中
  • #2可能有很多不同的根本原因,但是如果你想避开它们,你可以删除以前的声明,然后在这个级别上重新添加你自己的声明(我愿意为upsert特性花很多钱)

    因此,只需为任何有问题的元素添加如下标记:

    
    
    我也遇到了同样的问题。原来我有一个不同的项目,它使用具有相同端口号的IISExpress。一旦我将项目更改为使用不同的端口号,错误就消失了。

    我也遇到了同样的问题,下面是我所做的:

    • 我已将服务器设置从本地IIS更改为IIS Express:

    • 如果仍然不起作用,我将端口号更改为其他端口 编号,然后单击“创建虚拟目录”按钮。清除 解决方案,然后重建

    只需更改另一个应用程序尚未使用的端口号,它就可以正常工作了

    我尝试了上述所有方法,但都无效。我不断收到类似这样的错误

    Cannot add duplicate collection entry of type 'add' with unique key attribute 'name' set to 'QueryStringModule'
    
    最后我把我的服务器从

    IIS Express到项目属性生成中的本地IIS,如下所示<