Предупреждения и ошибки (CS0436, CS0234) при создании пользовательских элементов управления, состоящих из других пользовательских элементов управления в том же проекте - PullRequest
4 голосов
/ 11 февраля 2011

Я работаю над решением Windows Forms со многими проектами пользовательского интерфейса winform. Существует проект библиотеки классов, который содержит несколько пользовательских общих элементов управления с именем MyControls.

Теперь, когда я создаю элемент управления в MyControls который состоит из одного или нескольких элементов управления в одном проекте, у меня возникают проблемы.

Я либо получаю предупреждения компиляции: предупреждение CS0436: тип «MyType» в «path-to \ MyType.cs» конфликтует с импортированным типом «MyType» в «MyControls.dll». Используя тип, определенный в 'path-to \ MyType.cs'. Или я получаю кучу разных ошибок компиляции, все они указывают на «MyControls.dll» (ошибка CS0234 - «отсутствует ссылка на сборку?»).

Я получаю либо ошибки, либо предупреждения, но не то и другое одновременно.

Как это решить?

Примечание

Я добавил , потому что это версия, с которой у меня возникли проблемы. Не знаю, относится ли это и к другим версиям.

Ответы [ 3 ]

5 голосов
/ 11 февраля 2011

Я обнаружил, что Visual Studio добавляет собственную ссылку на MyControls, когда я перетаскиваю элемент управления из проекта MyControls на другой элемент управления в MyControls:

<Reference Include="MyControls, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" />

Мой текущий обходной путьвручную удалить эту ссылку из MyControls.csproj с помощью текстового редактора.Когда я это сделал, все работает нормально, пока я не уронил другой элемент управления, который запускает собственную ссылку.

Лучше лучшие решения!

1 голос
/ 09 декабря 2011

вы можете внести небольшое и «легальное» изменение в ваше решение и получить «легальное» решение ... допустим, ваш проект называется: перейдите в папку с ссылками в вашем проекте - одну из ваших ссылок под названием "project01" - просто удалите ее ... предупреждение очень справедливо! Вы создаете форму, а с другой стороны импортируете свой проект в качестве ссылки!

0 голосов
/ 06 сентября 2012

Я знаю, что эта ветка немного устарела, но я просто искал решение этой проблемы, и похоже, что у MS нет ничего, кроме того, что предложила Мэрин ранее:

https://connect.microsoft.com/VisualStudio/feedback/details/613502/automatically-add-self-reference

Надеюсь, это исправлено в VS 2012.

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