Пространство имен библиотеки классов не существует в приложении WPF, несмотря на ссылку на проект

У меня есть решение VS2010 с приложением WPF "hello world" и проектом библиотеки классов. В моей библиотеке классов я определил класс в пространстве имен под названием ReportImageMerge.Core. У меня есть этот проект, на который ссылается мой проект приложения WPF, но когда я запускаю сборку, я получаю несколько ошибок. Родительская ошибка остальных, которые являются ссылками на объекты в моем пользовательском пространстве имен, такова:

Error   3   The type or namespace name 'Core' does not exist
in the namespace 'ReportImageMerge' (are you missing an assembly reference?)

Как ни странно, если я удалю ссылку на проект и добавлю ее обратно, мои ошибки исчезнут вместе со всеми красными волнистыми линиями. Только при пересборке я снова вижу ошибки. Пространство имен и класс определены следующим образом:

namespace ReportImageMerge.Core.Business
{
    public class ReportHelper
    {
        ...
    }
}

Ссылка на класс и имя указана ниже:

using ReportImageMerge.Core.Business;

namespace ReportImageMerge.Reporter
{
    public partial class MainWindow : Window
    {
        public ReportHelper ReportHelper { get; set; }
        ...
    }
}

Единственная информация, которую я нашел по моей проблеме, похоже, сосредоточена вокруг целевой структуры. Для приложения WPF по умолчанию установлено значение «Клиентский профиль .NET Framework 4», а для библиотеки классов установлено значение «.NET Framework 4». Большинство советов для людей, имеющих проекты Silverlight, ссылающиеся на библиотеки классов, заключалось в использовании библиотеки классов, специфичной для Silverlight. Похоже, что для проектов приложений WPF это не так.

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

Как я могу заставить мое пространство имен библиотеки классов распознаваться после создания моего решения?


person PancakeParfait    schedule 23.12.2011    source источник
comment
Каковы целевые рамки вашего проекта WPF и библиотеки, на которую он ссылается?   -  person Sergey Kalinichenko    schedule 23.12.2011


Ответы (1)


Вы не можете ссылаться на полную структуру из клиентской платформы.

Измените любой из проектов так, чтобы они нацелены на одну и ту же платформу.

person SLaks    schedule 23.12.2011
comment
Спасибо за быстрый ответ, SLaks. Хотя я уже пытался изменить проект WPF на не-клиентский профиль (и получил неопределенное исключение времени выполнения, как упомянуто выше), мне еще не пришлось пробовать другой способ. Когда я это сделаю, моя старая проблема исчезнет, ​​но это приведет к сбою моих ссылок на несколько пространств имен Crystal Reports. Есть еще мысли по этому поводу? - person PancakeParfait; 23.12.2011
comment
Какое исключение и трассировка стека? - person SLaks; 23.12.2011
comment
Похоже, он указывал на конструктор моего класса ReportHelper, в котором я ссылался на строку подключения, отсутствующую в App.config. Иногда достаточно просто спросить кого-нибудь об этом, и ваша точка зрения изменится настолько, что вы действительно прислушаетесь к тому, что вам говорит IDE ._. Спасибо за помощь, SLAks, все хорошо! - person PancakeParfait; 23.12.2011