Элемент был указан более одного раза в параметре "Ресурсы". Дублирующие элементы не поддерживаются параметром "Ресурсы"
При компиляции моего проекта Visual Studio С# я получаю следующую ошибку:
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
У меня была эта проблема в последнее время, и я думаю, что разобрался в своей конкретной ситуации, так что, возможно, это поможет вам.
Я использовал IDE Visual Studio, чтобы скопировать существующую форму (позвоните ей Form1
). Я вложил его в тот же проект (он появился как Copy of Form1
)
Затем я переименовал новую копию в Form2
.
Мне понадобилось некоторое время, но в итоге я обнаружил, что среда IDE переименовала оба Form1
и Copy of Form1
в Form2
Имена файлов были правильными... были названы только фактические классы внутри.
Я вручную переименовал оригинал обратно в соответствующий класс и вуаля, он работал.
Ответ 2
Легко!
-
Щелкните правой кнопкой мыши свой проект и выберите "Выгрузить проект"
-
Щелкните правой кнопкой мыши еще раз и "Edit your_project.csproj"
-
Найдите дубликаты файлов, упомянутых в сообщении об ошибке, и удалите их.
-
Сохранить и закрыть.
-
Щелкните правой кнопкой мыши, чтобы выбрать "Обновить проект" просмотреть изображение
Ответ 3
У меня была такая же ошибка, и в моем случае я исправил эту проблему, как показано ниже.
![enter image description here]()
Вниз выделенной части был другой файл some_name_not_equal_to_main.resx, и после его удаления моя программа запускается нормально.
Надеюсь, это помогло вам.
Ответ 4
После переименования файла переименуйте класс и все конструкторы внутри нового созданного файла. По умолчанию имя файла изменяется, но имя классов внутри них не изменяется. Так что необходимо.
Ответ 5
У меня была такая же проблема. Не уверен в точной семантике, но он связан с поддержкой нескольких файлов как частичного класса формы.
В моем случае IDE попала в голову, чтобы добавить процедуры инициализации формы в один из файлов частичного класса, который не был "основной" формой.
Это создало две "основные" формы и конфликт.
Простое обнаружение добавленных функций init и их удаление вместе с ассоциированным файлом .resx устранили проблему.
Ответ 6
Если вы создали копию формы, перейдите к свойствам и измените имя скопированной формы.
В большинстве случаев это происходит при создании копии формы. Когда вы создаете копию формы, новая форма имеет то же имя, что и у старой. Изменено не имя старой формы.
В этом примере:
Я использовал IDE Visual Studio, чтобы скопировать существующую форму (позвоните на нее Form1). Я вложил его в тот же проект (он появился как Копия Формы1).
Теперь перейдите к "Копии формы1" [] Если вы уже переименовали, то это будет имя]
Перейти к свойствам
Измените имя на Form2 (или любое другое имя класса)
и он должен работать.
Кроме того, помните, когда вы переименовываете имя класса, возможно, что ссылки на имя класса в коде также получат изменения. Поэтому будьте осторожны. Я предложу после смены имени перекомпилировать код, так что если ссылки будут изменены, вы можете вернуться к первоначальному имени класса (в этом случае Form1). Затем вы можете начать использовать новые ссылки на класс.