Ответ 1
Вы пытались показать все файлы в обозревателе решений? У вас может быть дублированный файл .rsx где-то там.
Во время работы над существующим проектом я неожиданно получил следующую ошибку при попытке скомпилировать решение:
error MSB3105: Элемент "[имя_файла]" был указан более одного раза в параметре "Ресурсы". Параметр "Ресурсы" не поддерживается повторяющимися элементами.
Теперь, насколько мне известно, я не внес изменений в проект, который влияет на ресурсы. Также я проверил каждый файл в проекте, но в этом файле нет дублирующей ссылки. Теперь я уже нашел некоторые записи в форуме об этой ошибке:
1) Откройте файл .csproj и удалите дублируемую ссылку. [Пробовал это, но я не могу найти в нем дубликатов)
2) В проекте "partial class" переместите все в один класс. [Мог бы попробовать это, но проект был разделен на частичные классы с самого начала, и я не хочу изменять это только из-за ошибки]
И что еще может вызвать это?
Вы пытались показать все файлы в обозревателе решений? У вас может быть дублированный файл .rsx где-то там.
Я нашел ответ в . Размещение форума в сети от Роя Грина, а Тереза была права, хотя я этого не узнал. < ш > Если ваш основной класс формы разделен на частичные классы, частичные разделы попадают в обозреватель решений как отдельные элементы. И если вы дважды щелкните по ним, они появятся в режиме конструктора как обычная форма. Но если вы случайно удалили элемент управления этими формами, Visual Studio создаст для него новый файл .resx и процедуру InitializeComponent. Но поскольку эта форма на самом деле является лишь частью класса Main Form, это приводит к ошибке "дубликатов ресурсов". И нет другого решения, кроме как удалить процедуру InitializeComponent и удалить файл .resx вручную.
Убедитесь, что под вашимForm.cs не определены повторяющиеся ресурсы (.resx). Если вы переименовали свою форму, удалите старый ресурс, потому что новый во время компиляции будет создан с новым именем.
Я только сделал ту же ошибку. Удалите mainform.designer.vb, затем я восстановил его снова из корзины и нашел это сообщение об ошибке при компиляции. Я пытаюсь выполнить поиск по Google, и кто-то предложил проверить .vbproj. Сделал это и нашел дубликат на некоторой строке.
У меня это тоже было, в VB. Существует файл "real form" frmMain, а затем я создал новые файлы классов и изменил их как Partial Public Class frmMain. Например, у меня есть файл ImportFromExcel.vb Partial Class (я не хотел загромождать frmMain.vb с довольно сложным кодом импорта Excel.)
Все работало нормально, пока я не решил использовать OpenFileDialog в Sub ImportFromExcel. Я перетащил OFD из панели инструментов в представление Designer файла ImportFromExcel. (Я понятия не имею, почему это мнение существует, если вы ничего не можете с ним поделать!) Но во всяком случае... перетаскивание OFD в Partial Class Designer создало файл ImportFromExcel.resx. Операция перетаскивания также создала Sub InitializeComponent в ImportFromExcel, которая является избыточной и показывает ошибку - легко исправляется с небольшим редактированием.
В конечном счете, я решил не использовать перетаскиваемый ресурс, но локализовал код в файле ImportFromExcel.vb.
Все, что вам действительно нужно сделать, это щелкнуть правой кнопкой мыши файл ImportFromExcel.resx и выбрать "Удалить". Все остальное, кажется, "фиксирует себя", и теперь оно прекрасно работает.