У меня есть решение 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 это не так.
Я видел советы по изменению целевой структуры ссылающегося проекта на ту же, что и указанное приложение, но если я это сделаю, я получаю неопределенную ошибку времени выполнения.
Как я могу заставить мое пространство имен библиотеки классов распознаваться после создания моего решения?