我想创建一个几乎与我项目中已有的对话框重复的新表单。如果我不需要,我不想浪费时间重新创建大部分表格。
我复制,然后将其粘贴到我的项目中,并将其从Copy of Original
。cs重命名为NewItem.cs
。
当我转到重建我的解决方案时,我收到错误。
The item "obj\Debug\Control.Forms.NewUser.resources" was specified more
than once in the "Resources" parameter.
Duplicate items are not supported by the "Resources" parameter.
我做错了什么?有没有办法解决这个问题?
答案 0 :(得分:3)
您可能将一些本地资源存储在名为Original.resx的文件中
复制对话框时,它复制了这个文件,但没有重命名(虽然不应该这样)。查看解决方案资源管理器中的Copy Of Original.cs下面是否有.resx文件。如果是这样的话也重命名。
无论如何都可能值得执行Clean(右键单击Project或Solution)以清除obj和bin文件夹,然后尝试重新编译。
答案 1 :(得分:2)
老问题,但我会回答未来的googlers,因为OP声称接受的答案没有解决问题。
问题是NewItem.cs
仍然包含一个与Original.cs
同名的类。当文件名和类名不同时会发生这种情况(与Eclipse for Java不同,Visual Studio允许在C#项目中使用)。复制粘贴将“Copy of”前缀附加到文件名,并且重命名文件功能不够智能,无法确定在这种情况下重命名该类是合适的。
要修复错误,必须重命名重复项目项中的类。我说项目而不是文件,因为在WinForms的情况下,这意味着两个文件:一个解决方案资源管理器默认显示(右键单击 - >显示代码或F7如果受到视觉设计师的欢迎)和.designer.cs 。无需修改.resx AFAIK。
答案 2 :(得分:0)
创建原始表单的副本时,VS不会更改原始名称空间(在您的情况下,它仍然是“原始”)。因此,只需将此重复的命名空间(在“原始文件”中)更改为独特的东西。