Невозможно использовать пространство имен после ссылки на сборки - PullRequest
1 голос
/ 05 марта 2011

Люди,

У меня проблема с многопроектным решением c # в Visual Studio 2010 SP1.

Вот структура решения: BNLib - личная библиотека утилит WidgetClientApp - интерфейс приложения asp.net WidgetConsoleUtilities - консольное приложение WidgetCore - содержит общие интерфейсы, классы и перечисления WidgetMiddleTier - бизнес логика WidgetDataLayer - доступ к БД через linq to SQL.

проблема После добавления ссылки на сборку среднего уровня (WidgetMiddleTier, которая содержит пространство имен Widget.MT) в консольное приложение (WidgetConsoleUtilities) я добавил директиву using на свою страницу program.cs:

с использованием Widget.MT;

Затем я получаю ошибку компилятора в директиве using:

Тип или имя пространства имен 'MT' не существует в пространстве имен 'Виджет' (отсутствует ссылка на сборку?)

Я использую эту сборку в нескольких других проектах в том же решении без проблем. Я использую другую сборку (WidgetCore, которая содержит пространство имен Widget.Core) в консольном приложении без труда.

Веб-приложение (Widget) использует обе эти сборки без проблем.

Я попытался удалить и прочитать пространства имен, закрыть и снова открыть Visual Studio 2010, очистить сборки, включая сборки вместо проектов, и ничто не помогло.

Есть идеи?

Ваша помощь будет очень полезна!

Лучшее

Brett

1 Ответ

7 голосов
/ 05 марта 2011

Случайно ли консольное приложение использует клиентский профиль .NET 4 ?Если это так, вы не можете ссылаться на сборку, которой нет в .NET Framework 4 Client Profile.Вместо этого вы должны ориентироваться на .NET Framework 4 - для этого перейдите в свойства вашего проекта и измените «Target Framework» на «.NET Framework 4».

...