VS2010 "Элемент с тем же ключом уже добавлен" - PullRequest
20 голосов
/ 09 июня 2010

Я недавно установил Visual Studio 2010, скопировал и преобразовал старое решение VS2005 в VS2010

Когда я редактирую это решение, если я пытаюсь изменить свойство элемента управления .image, VS2010 создает окно сообщения, сообщающее, что «элемент с таким же ключом уже добавлен» (скриншот ниже), и не позволяет я ищу изображение.

Я могу добавить изображения для любого другого решения, даже для других, портированных с VS2005, но не для этого. Есть идеи, что я делаю не так?

Элемент с таким же ключом уже добавлен. http://img121.imageshack.us/img121/3592/errorsy.jpg

Ответы [ 8 ]

22 голосов
/ 14 июня 2010

Я решил это благодаря поиску.Решение состоит в том, чтобы никогда не создавать файл .resx с именем «Resources.resx», поскольку он конфликтует с файлами «Resources.resx», которые можно автоматически создавать в диалоговом окне свойств проекта.

После того, как я переименовал ресурсы.resx в Icons.resx, мне удалось изменить свойство изображения для чего-либо в решении.

13 голосов
/ 18 июля 2012

У меня был такой же опыт, но из-за дубликатов ресурсов изображения в файле .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" />

Возможно, от Merge Gone Wild (tm).

Те же симптомы - обычныесборка в норме, перестроить не удалось.Удалите повторяющиеся записи ресурса, чтобы устранить проблему.

11 голосов
/ 23 сентября 2016

Относительно 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.Откройте решение, с которым у вас возникли проблемы, и попробуйте снова.Это сработало для меня.

7 голосов
/ 30 октября 2013

Запустив VS2010, я смог исправить эту ошибку, сбросив среду:

Tools > Import and Export Settings > Reset all settings
2 голосов
/ 11 мая 2016

* в vs2015, если вы получаете «Элемент с тем же ключом, который уже был добавлен», как изображение ниже, удалите конфигурацию iis в вашем файле csproj

enter image description here

ваш может отличаться, но должен быть похож на следующий

 <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>
1 голос
/ 24 марта 2017

Зайдите в properties / PublishProfiles, откройте файл .pubxml и проверьте, не повторялись ли строки подключения. У меня была эта проблема, я удалил все дублирующиеся строки подключения, чтобы оставить одну оставшуюся, и это решило мою проблему.

1 голос
/ 23 марта 2012

У меня была такая же проблема, но в моем решении не было файла "Resources.resx" (у меня не было файлов * .resx, если на то пошло). Моя проблема возникла из-за того, что мой файл проекта .vcxproj пытался использовать файл дважды. Я добавил пользовательский шаг сборки для моих файлов protobuf и добавил все мои * .proto файлы в свой проект. Тем не менее, файл .proto румяна появился дважды. Избавление от дубликата решило проблему.

Так что, если у вас возникла та же проблема, и у вас нет файла Resources.resx, попробуйте просмотреть файл .vcxproj и убедитесь, что другие файлы не дублируются.

0 голосов
/ 10 ноября 2015

Если вы получили эту ошибку во время действия публикации SSDT, убедитесь, что вы не дублировали записи SqlCmdVariable в файле Publish.xml.

...