Как диагностировать проблему со ссылками csproj? - PullRequest
0 голосов
/ 19 сентября 2011

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

Visual Studio может добавить оператор using, используя Resolve (Ctrl+.), но:

Не удалось найти тип или имя пространства имен SomeClass (отсутствует директива using или ссылка на сборку?

Устранение этой неполадки полностью определяет тип, но пространство имен в пути к типу выделяется как не найденное.

Пространство имен также отображается в intellisense, а целевой класс отображается в Обозревателе объектов.

Удаление неиспользуемых пространств имен удаляет добавленный оператор using.

Я пробовал:

  1. Rebuild.
  2. Подтверждение зависимости проекта в опциях решения.
  3. Удалить ссылку и заново добавить.
  4. Подтверждение доступности класса (несмотря на то, что пространство имен не найдено).
  5. Проверен режим сборки (Debug / Release).
  6. Перезапустите Visual Studio.
  7. Очищено bin папок в обоих проектах.
  8. Перезагрузите машину.

Каков следующий шаг к диагностике этой проблемы?

Ответы [ 3 ]

1 голос
/ 19 сентября 2011

Вероятно, это проблема управления версиями .Net framework. Ссылочный класс, вероятно, был построен с использованием более высокой версии фреймворка.

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

0 голосов
/ 21 сентября 2011

Эта проблема была вызвана похожими пространствами имен, например Company.Product.Project и Product.Project с:

namespace Company.Product.Project
{
        using Product.Project;

Класс был в Product.Project, но компилятор искал Company.Product.Project.

См .: Должны ли операторы using находиться внутри или вне пространства имен? для получения более подробной информации.

0 голосов
/ 19 сентября 2011

В прошлый раз у меня была эта проблема, мой класс не был отмечен как публичный. Просто идея.

...