在编写我的Visual Studio C#项目,我收到以下错误:
The item "obj\Debug\SampleProject.Forms.MDIMain.resources" was specified more than once in the "Resources" parameter. Duplicate items are not supported by the "Resources" parameter.
但是我已经搜索互联网上的很多,但没有一个解决方案为我工作。
我试图删除该表,并重新添加到项目,但它并没有为我工作。
我只有一个resx
文件。
我使用VS 2010。
另外,我尝试以下解决方案,但它不是为我工作:
- https://stackoverflow.com/a/7928191/2074603
- https://stackoverflow.com/a/10066009
最近,我有这个问题,我想我想通了,我的具体情况,所以也许它会帮助你。
我曾使用Visual Studio IDE中复制现有的形式(姑且称之为Form1
)。 我贴入同一个项目(它作为抵达Copy of Form1
)
然后我改名新副本Form2
。
我花了一段时间,但我最终发现了IDE都改名为Form1
和Copy of Form1
到Form2
该文件名是正确的...只是实际的类中被命名。
我手动重命名的原始回到正确的类, 瞧 ,它的工作。
我有同样的错误,在我的情况,我解决了这个问题,如后续。
向下的突出显示部分是另一个文件some_name_not_equal_to_main.resx和取出后,我的程序开始正常运行。
希望这有助于你。
重命名文件后,重命名类和新创建的文件中的所有构造函数。 缺省情况下,该文件的名称更改,但在其内部的类的名称不会改变。 所以,做要紧。
我只是有这个同样的问题。 不知道确切的语义,但它关系到维护多个文件作为局部的“主”窗体类。
在我的情况下,IDE得到它把它的头部形状初始化程序添加到部分的类文件,这不是“主”的形式之一。
这创造了两个“主”的形式和冲突。
只要找到添加初始化函数和删除它们,以及相关的.resx文件一起,解决了这一问题。
如果您已经创建表格的副本,进入属性并更改复制形式的名称。
在大多数情况下,当你创建形式的复制发生。 当您创建窗体的副本,则新的形式具有相同的名称,旧的。 它不是旧表的名称被更改。
从这个例子:
我曾使用Visual Studio IDE中复制现有的形式(姑且称之为Form1中)。 我贴入同一个项目(抵达为Form1的复印件)。 现在去[]如果你已经改名然后“Form1的复制”这将是该名称]进入属性更改名称到窗体2(或任何类名,你想)
它应该工作。
此外,请记住,当你重新命名类名,它有可能在代码中的类名的引用也得改变。 所以要特别小心这一点。 我会建议更改名称后,重新编译代码,因此,如果引用被更改,那么你可以(在这种情况下Form1中)恢复到原来的类名。 然后你就可以开始使用新的类引用。
文章来源: The item was specified more than once in the “Resources” parameter. Duplicate items are not supported by the “Resources” parameter