ОБНОВЛЕНИЕ:
Я решил это так, как я и не ожидал - очевидно, это не было столкновение пространства имен / имени типа, как я думал (к моему удивлению, когда я- и это не удалось точно так же).Я думаю возможно, это незначительная ошибка 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, и вежливо напоминает мне, что я мог забыть добавить ссылку, но главное, что он говорит о коде, который он только что сгенерировал и не был быбез этой ссылки.
ПРИМЕЧАНИЕ. Если никто не знает, что это такое, и я ошибаюсь, что это является симптомом синдрома одинокого разработчика, я еще раз рассмотрю пример и выложу код (просто защелкнул его).