开发者

VS2010 "An item with the same key has already been added"

I recently installed Visual Studio 2010 and copied and converted an old VS2005 solution to VS2010

When I edit this solution, if I try to change a control's .image property, VS2010开发者_运维问答 creates a message box telling me that "An item with the same key has already been added", and won't let me browse for an image.

I can add images for any other solution, even others ported from VS2005, but not this one. Any idea what I'm doing wrong?


I worked this out thanks to a search. The solution is to never create a .resx file with the name "Resources.resx" because it conflicts with the "Resources.resx" files that can be automatically created in the project's properties dialog.

Once I renamed Resources.resx to Icons.resx, I was able to change the image property for anything in the solution.


I had the same experience but due to duplicate image resources in the .csproj file:

<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" />

Probably from a Merge Gone Wild(tm).

Same symptoms--regular build OK, rebuild fails. Remove the duplicate resource entries to fix the problem.


Regarding Visual Studio 2015

The problem I was having was I could not load a project or re-add it to ANY solution. I would get the same error reported by others which is

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

This is going to sound overly simplistic, but when you get this error close ALL Visual Studio instances. Open the solution you were having trouble with and try again. This worked for me.


Running VS2010, I was able to fix this error by resetting the environment:

Tools > Import and Export Settings > Reset all settings


*in vs2015 if you get "An item with the same key has already been added" like image bellowm delete iis configuration in your csproj file

VS2010 "An item with the same key has already been added"

yours could be different but should be similar to following

 <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>


I just had this same problem, but I didn't have any "Resources.resx" file in my solution (I didn't have any *.resx files, for that matter). My problem came because my .vcxproj project file was trying to use a file twice. I had added a custom build step for my protobuf files and added all my *.proto files to my project. However, a rouge .proto file appeared twice. Getting rid of the duplicate solved the problem.

So if you're having the same problem and you don't have any Resources.resx file, try looking at your .vcxproj file and making sure there aren't any other files that are getting duplicated.


go inside properties/PublishProfiles, open the .pubxml file and check to see if your connection strings have been repeated. I had this issue, removed all the duplicate connection strings to leave one remaining and it solved my issue.


If you get this error during a SSDT Publish action, check you have not duplicated SqlCmdVariable entries in the Publish.xml file.


For info: I had the same problem when changing an image properties in a WPF project from Resource to SplashScreen - once changed, the error would appear until the project was cleaned and rebuilt. Even before the clean, I could not see the duplication in the csproj file, editing in notepad++, so it had me searching for a bit!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜