在编译我的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。
此外,我尝试了以下解决方案,但它对我不起作用:
答案 0 :(得分:30)
轻松!
右键单击您的项目并选择"卸载项目"
再次右键单击"编辑your_project.csproj"
搜索错误消息中提到的重复文件并将其删除。
保存并关闭。
右键单击选择"重新加载项目" view image
答案 1 :(得分:17)
我最近遇到了这个问题,我想我已经弄清楚了我的具体情况,所以也许它会帮到你。
我曾使用Visual Studio IDE复制现有表单(我们称之为Form1
)。我将它粘贴到同一个项目中(它以Copy of Form1
的形式到达)
然后我将该新副本重命名为Form2
。
我花了一段时间,但最终我发现IDE已将Form1
和Copy of Form1
重命名为Form2
文件名是正确的......只是里面的实际类被命名。
我手动将原始版本重命名为正确的类并且 voila ,它有效。
答案 2 :(得分:4)
我有同样的错误,在我的情况下,我解决了这个问题,如下所示。
向下突出显示的部分是另一个文件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)
有时,与另一个类同名的部分类会产生这个问题。尝试找出是否有任何两个类具有相同的类名。删除/重命名其中之一,然后您的问题将得到解决。