РЕДАКТИРОВАТЬ: У меня есть библиотека классов, которая быстро растет, и я решил немного ее организовать ... Пространства имен библиотеки классов структурированы следующим образом:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Web;
namespace ClassLibrary1
{
namespace FirstNS
{
public class Class1
{
ReportDocument report = new ReportDocument();
public static void ShowMe()
{
Console.WriteLine("Class1");
}
}
}
namespace SecondNS
{
public class Class2
{
public static void ShowMe()
{
Console.WriteLine("Class2");
}
}
}
}
Компилируется нормально.Когда я пытаюсь использовать скомпилированную dll, ссылаясь на нее в консольном приложении, я могу ссылаться на пространство имен с помощью директивы using.Однако, когда я пытаюсь создать приложение, оно говорит: «Тип или имя пространства имен« ClassLibrary1 »не может быть найдено ...».
Я понял, что удаление сборок CrystalDecisions решает проблему, с которой я столкнулся.просто не знаю почему.- Как бы странно это ни звучало, проблема связана с наличием вложенных пространств имен.Если я использую отдельные пространства имен, проблема исчезнет.