【问题标题】:VS2010 "An item with the same key has already been added"VS2010“已添加具有相同密钥的项目”
【发布时间】:2011-03-01 12:59:29
【问题描述】:

我最近安装了 Visual Studio 2010,并将旧的 VS2005 解决方案复制并转换为 VS2010

当我编辑此解决方案时,如果我尝试更改控件的 .image 属性,VS2010 会创建一个消息框,告诉我“已添加具有相同键的项目”(下面的屏幕截图),并且不会让我浏览图片。

我可以为任何其他解决方案添加图像,甚至是从 VS2005 移植的其他解决方案,但不是这个。知道我做错了什么吗?

An item with the same key has already been added. http://img121.imageshack.us/img121/3592/errorsy.jpg

【问题讨论】:

标签: visual-studio image visual-studio-2010 icons designer


【解决方案1】:

我通过搜索解决了这个问题。解决方案是永远不要创建名为“Resources.resx”的 .resx 文件,因为它与可以在项目属性对话框中自动创建的“Resources.resx”文件冲突。

将 Resources.resx 重命名为 Icons.resx 后,我就能够更改解决方案中任何内容的图像属性。

【讨论】:

  • 谢谢你,这真是个笨蛋!
【解决方案2】:

我刚刚遇到了同样的问题,但我的解决方案中没有任何“Resources.resx”文件(就此而言,我没有任何 *.resx 文件)。我的问题来了,因为我的 .vcxproj 项目文件试图使用一个文件两次。我为我的 protobuf 文件添加了一个自定义构建步骤,并将所有 *.proto 文件添加到我的项目中。但是,胭脂 .proto 文件出现了两次。摆脱重复解决了这个问题。

因此,如果您遇到同样的问题并且没有任何 Resources.resx 文件,请尝试查看您的 .vcxproj 文件并确保没有任何其他文件重复。

【讨论】:

    【解决方案3】:

    我有同样的经历,但由于 .csproj 文件中的图像资源重复:

    <Resource Include="Images\trigger-ModuleSelector1.png" />
    <Resource Include="Images\trigger-ModuleSelector2.png" />
    <Resource Include="Images\document.png" />
    <Resource Include="Images\folder.png" />
    <Resource Include="Images\trigger-ModuleSelector1.png" />
    <Resource Include="Images\trigger-ModuleSelector2.png" />
    

    可能来自疯狂的合并(tm)。

    同样的症状——正常构建正常,重建失败。 删除重复的资源条目以解决问题。

    【讨论】:

      【解决方案4】:

      运行 VS2010,我可以通过重置环境来修复这个错误:

      Tools > Import and Export Settings > Reset all settings
      

      【讨论】:

        【解决方案5】:

        如果您在 SSDT 发布操作期间收到此错误,请检查您是否在 Publish.xml 文件中没有重复的 SqlCmdVariable 条目。

        【讨论】:

          【解决方案6】:

          *在 vs2015 中,如果您在 csproj 文件中得到“已添加具有相同密钥的项目”,如图像波纹管删除 iis 配置

          您的可能会有所不同,但应该与以下类似

           <ProjectExtensions>
              <VisualStudio>
                <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
                  <WebProjectProperties>
                    <UseIIS>True</UseIIS>
                    <AutoAssignPort>True</AutoAssignPort>
                    <DevelopmentServerPort>32049</DevelopmentServerPort>
                    <DevelopmentServerVPath>/</DevelopmentServerVPath>
                    <IISUrl>http://localhost:32049</IISUrl>
                    <NTLMAuthentication>False</NTLMAuthentication>
                    <UseCustomServer>False</UseCustomServer>
                    <CustomServerUrl>
                    </CustomServerUrl>
                    <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
                  </WebProjectProperties>
                </FlavorProperties>
              </VisualStudio>
            </ProjectExtensions>
          

          【讨论】:

          • 你也可以把UseIIS转成false
          【解决方案7】:

          关于 Visual Studio 2015

          我遇到的问题是我无法加载项目或将其重新添加到任何解决方案中。我会得到其他人报告的相同错误,即

          Project '...' could not be opened because the Visual C# compiler could not
          be created. An item with the same key has already been added.
          

          这听起来过于简单,但是当您收到此错误时,请关闭所有 Visual Studio 实例。打开您遇到问题的解决方案,然后重试。这对我有用。

          【讨论】:

          • 被这个错误弄疯了。修改csproj,不行。 Proj 属性,没有帮助。关闭该死的 VS 并再次打开解决方案,像魔术一样工作。
          • 我刚刚转到文件>关闭解决方案并再次重新打开解决方案,似乎为我修复了它!
          • 这可行,但不是解决方案。同样的问题。
          • 关闭 SSMS 和 VS2015 后,重新打开 VS 项目时问题就消失了。
          【解决方案8】:

          进入 properties/PublishProfiles,打开 .pubxml 文件并检查您的连接字符串是否重复。我遇到了这个问题,删除了所有重复的连接字符串以留下一个,它解决了我的问题。

          【讨论】:

            【解决方案9】:

            关于信息:在将 WPF 项目中的图像属性从 Resource 更改为 SplashScreen 时,我遇到了同样的问题 - 一旦更改,错误将出现,直到项目被清理和重建。即使在清理之前,我也看不到 csproj 文件中的重复项,在 notepad++ 中编辑,所以它让我搜索了一下!

            【讨论】:

              猜你喜欢
              • 2011-01-27
              • 2021-08-02
              • 2017-11-17
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多