Я создал простой пример с приведенным ниже кодом. На уровне пользовательского интерфейса моего тестового проекта (.Net Core) у меня есть зависимость от бизнес-уровня, а моя ссылка бизнес-уровня на уровень данных. Мой вопрос в том, почему пользовательский интерфейс может импортировать функциональность уровня данных без ссылки на данные, потому что я действительно не хочу импортировать это !!
public class Program
{
public static void Main(string[] args)
{
Data.Class1 class1 = new Class1();
class1.foo();//i have access to data layer !!
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
Танки, заработало.
Это потому, что ваш бизнес-уровень имеет ссылку на него, а ваши классы являются общедоступными. Достаточно плохо, что вы ссылаетесь на уровень данных непосредственно с бизнес-уровня. Попробуйте этот ответ