Visual Studio генерирует «Settings1.Designer.vb», когда я изменяю настройку конфигурации - PullRequest
6 голосов
/ 26 октября 2011

Иногда (не всегда), когда я редактирую настройку на странице «Мой проект», когда я добавляю одну или изменяю значение оттуда, я получаю сообщение об ошибке: 'Settings is ambiguous between declaration in Modules '<project>.My.MySettingsProperty' and '<project>.My.MySettingsProperty'

Visual Studio создаетдубликат My Project\Settings.Designer.vb, и регистрирует их обоих в файле .vbproj.

Когда это происходит, мне нужно удалить Settings.Designer.vb, удалить «1» в Settings1.Designer.vbи удалите ссылки на него в файле vbproj.

Это также происходит, когда я редактирую модель Telerik ORM (файл designer.vb, скопированный в designer1.vb), с добавленной проблемой, которая в этом случаевпоследствии файл designer.vb пуст.

Вот еще одно описание проблемы, написанное кем-то другим (у которого с 2009 года нет ответа, кроме моего): http://social.msdn.microsoft.com/Forums/en-AU/vbide/thread/29e7b9ff-5cdc-456b-9d2f-bc85145e8eaf

МожетВы думаете о возможном источнике, но, что более важно, о возможном исправлении?

Я использую Visual Studio 2008 Standard, и эта проблема не возникала несколько месяцев назад.

Спасибо

Ответы [ 2 ]

10 голосов
/ 01 марта 2013

Я тоже страдал от этого в Visual Studio 2008, когда слишком много возился с настройками приложения. Исправление описано здесь .

Короче говоря, в файле проекта есть элемент LastGenOutput XML внутри элемента XML файла .settings. Если Visual Studio решит добавить 1 к сгенерированному имени файла .Designer.cs, это будет сохранено в XML-элементе LastGenOutput. Пока вы не отмените это изменение в файле проекта, Visual Studio продолжит использовать новый файл .Designer.cs независимо от того, что вы пытаетесь.


Обновление

Воспроизведение с Visual Studio 2008, 2010 и 2013, обновление 1

  1. Создайте новый файл .settings с помощью дизайнера настроек.
  2. В конструкторе нажмите «Просмотр кода», чтобы был создан сопутствующий файл.
  3. Убедитесь, что сопутствующий файл находится в том же каталоге, что и два других файла.
  4. Исключить все три файла из проекта.
  5. Показать скрытые файлы для проекта.
  6. Выгрузить проект.
  7. Перезагрузите проект.
  8. Включите три файла. Обратите внимание, что файл конструктора теперь отображается под сопутствующим файлом.
  9. Измените настройку в конструкторе и сохраните. Обратите внимание, как создается второй файл .Designer.cs.
1 голос
/ 13 декабря 2017

У меня была похожая проблема с использованием Visual Studio 2013: «неоднозначные ссылки» при вставке некоторых новых изображений в общие ресурсы проекта. Внезапно не удалось собрать после этого невинного изменения.

Ошибка отображает текст типа «Неоднозначная ссылка между модулями…» (и дважды упоминается один и тот же модуль) и повторяется для всех возможных ресурсов, изображений или текстов. Также было невозможно выбрать новые изображения для элементов управления из списка ресурсов, и некоторые окна не могли быть открыты.

Это произошло, когда неожиданно среда IDE Visual Studio дублировала файл Resources.Designer.vb в папке MyProject (создав еще один файл с добавленной к имени «1»: «Resources1.Designer.vb»).

Чтобы исправить ошибку, я вручную отредактировал файл проекта .vbproj, удалив ссылку на второй Resources.Designer (Resources1.Designer). Я также стер дублированный файл из папки MyProject.

После выполнения этих двух действий (редактирование файла проекта и удаление дублированного файла) проект восстановился и вел себя нормально.

Я надеюсь, что это может сэкономить некоторое время кому-то еще при наличии той же ошибки. Пожалуйста, сделайте резервную копию, прежде чем удалить что-то !!! ; -)

...