该项在“Resources”参数中多次指定。 “Resources”参数不支持重复项

时间:2013-02-15 07:24:33

标签: c# vb.net visual-studio-2010 resources resx

在编译我的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。

此外,我尝试了以下解决方案,但它对我不起作用:

  1. https://stackoverflow.com/a/7928191/2074603
  2. https://stackoverflow.com/a/10066009

7 个答案:

答案 0 :(得分:30)

轻松!

  1. 右键单击您的项目并选择"卸载项目"

  2. 再次右键单击"编辑your_project.csproj"

  3. 搜索错误消息中提到的重复文件并将其删除。

  4. 保存并关闭。

  5. 右键单击选择"重新加载项目" view image

答案 1 :(得分:17)

我最近遇到了这个问题,我想我已经弄清楚了我的具体情况,所以也许它会帮到你。

我曾使用Visual Studio IDE复制现有表单(我们称之为Form1)。我将它粘贴到同一个项目中(它以Copy of Form1的形式到达)

然后我将该新副本重命名为Form2

我花了一段时间,但最终我发现IDE已将Form1Copy of Form1重命名为Form2

文件名是正确的......只是里面的实际类被命名。

我手动将原始版本重命名为正确的类并且 voila ,它有效。

答案 2 :(得分:4)

我有同样的错误,在我的情况下,我解决了这个问题,如下所示。

enter image description here

向下突出显示的部分是另一个文件some_name_not_equal_to_main.resx,删除后,我的程序开始正常运行。

希望这有助于你。

答案 3 :(得分:1)

重命名文件后,重命名新创建文件中的类和所有构造函数。默认情况下,文件名更改,但其中的类名称不会更改。所以需要它。

答案 4 :(得分:1)

我刚遇到同样的问题。不确定是否具有确切的语义,但它与将多个文件保持为“Main”的部分内容有关。形式类。

在我的情况下,IDE让它进入它的头部,将表单初始化例程添加到一个部分类文件中,而不是主要的'形式。

这创造了两个主要的'形式和冲突。

只需查找添加的init函数并删除它们以及相关的.resx文件,即可解决问题。

答案 5 :(得分:0)

如果您已创建表单副本,请转到属性并更改复制表单的名称。

在大多数情况下,它会在您创建表单副本时发生。当您创建表单的副本时,新表单与旧表单的名称相同。这不是旧表格的名称被更改。

从这个例子:

我曾使用Visual Studio IDE复制现有表单(让我们称之为Form1)。我将它粘贴到同一个项目中(它作为Form1的副本到达)。 现在转到" Form1" []如果你已经重命名,那么它就是那个名字] 转到“属性” 将名称更改为Form2(或您想要的任何类名称)

它应该有用。

另外,请记住,当您重命名类名时,代码中对类名的引用也可能会发生更改。所以要小心。我会在更改名称后建议重新编译代码,这样如果引用被更改,那么您可以恢复原始类名(在这种情况下为Form1)。然后,您可以开始使用新的类引用。

答案 6 :(得分:0)

有时,与另一个类同名的部分类会产生这个问题。尝试找出是否有任何两个类具有相同的类名。删除/重命名其中之一,然后您的问题将得到解决。