Странная проблема, с которой я сталкиваюсь, задаюсь вопросом, а не потому ли, что я использую типы с тем же именем, что и пространство имен? - PullRequest
0 голосов
/ 16 мая 2011

ОБНОВЛЕНИЕ:

Я решил это так, как я и не ожидал - очевидно, это не было столкновение пространства имен / имени типа, как я думал (к моему удивлению, когда я- и это не удалось точно так же).Я думаю возможно, это незначительная ошибка VS - вот что произошло:

-> Путь ошибки

  • Я добавил Winformsproject
  • Я добавил ссылку на Lib1
  • Lib1 появился как добавленная ссылка
  • (я пересматриваю свою оценку именно тогда, когда VS запутывается) В следующий раз, когда я компилирую, что-то ломается, и это как если бы я никогда не добавлял ссылку на Lib1.

-> Удивительно, но в итоге я решил проблему:

  • Я делал случайные снимки, потому что был в замешательстве и решил добавить библиотеку (немного) другим способом.
  • Вместо того, чтобы щелкнуть правой кнопкой мыши узел References в обозревателе решений и выбрать Lib1 из «решений»Я выбрал его на вкладке «Недавние».
  • Когда я добавил его, к моему удивлению, VS пожаловался, что не может добавить библиотеку
  • Причинамоя библиотека была установлена ​​на .NET 4, а мое приложение Winforms по умолчанию настроено на профиль клиента.

-> проблема была решена, когда я переключил свое приложение winforms на .NET 4

Фон / мотивация:

Яодинокий разработчик - вот почему, когда у меня есть такие странности, я иногда провожу 20 минут, и если я не могу понять это, я полностью работаю над этим.Иногда эти проблемы повторяются, и я провожу еще 20 минут, и второй раз раздражаюсь обходным путем, что, в конце концов, заставляет меня действительно хотеть разобраться с этим.Теперь дело обстоит именно так.

Описание проблемы:

Я пишу код, в данном случае я прототипировал сайт ASP.NET с VS10.

  • новый проект, веб-сайт ASP.NET: Web1 (создает решение)
  • добавляет проект, библиотека C #, Lib1 (добавляет решение)
  • Lib1: добавляет Model.cs, View.cs, Presenter.cs, ... и т. Д.
  • Web1: добавить DataList в Default.aspx, привязать данные через Lib1
  • Проверить, работает ли

--> Теперь я хочу увидеть мою работу в Lib1 для проекта winforms, в основном доказывая, что я могу написать библиотечный код, который не заботится об интерфейсе пользователя

  • add Project, WinformsApp1 (добавляет к решению)
  • добавить DataGridView в Form1, связать данные через Lib1

Затем произошло самое странное (по крайней мере, для меня): сначала добавление ссылки на Lib1 и реализация интерфейса IViewв Form1 работает нормально, но как только VS auto заполняет заглушки для IView, все переходит в состояние, как будто я не добавилон ссылается на Lib1.То есть компилятор говорит мне, что не знает определения IView, и вежливо напоминает мне, что я мог забыть добавить ссылку, но главное, что он говорит о коде, который он только что сгенерировал и не был быбез этой ссылки.

ПРИМЕЧАНИЕ. Если никто не знает, что это такое, и я ошибаюсь, что это является симптомом синдрома одинокого разработчика, я еще раз рассмотрю пример и выложу код (просто защелкнул его).

1 Ответ

0 голосов
/ 17 мая 2011

Похоже, у вас в интерфейсе есть метод, имя которого совпадает с именем пространства имен, поэтому при заполнении интерфейса компилятор больше не мог различать пространство имен и метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...