красиво и понятно - просто чтобы подчеркнуть то, что вы сказали (но что мне удалось пропустить в первый раз). Ссылочной цепочкой является Web-> Services-> Business, и именно в SERVICES вам нужно добавить PrivateAssets = "All", чтобы скрыть Business от Web (я помещал его в Web-> Services ProjectReference, который не работал - я просто нужно внимательнее прочитать ваш ответ!)

у веб-сайт MVC с использованием ASP.NET Core 2.0.

В проекте ASP.NET Core (назовем егоWeb) Я ссылаюсь на проект .NET Standard 2 в том же решении (назовем егоService).Service Проект также ссылается на третью библиотеку .NET Standard 2 в решении (назовем этоBusiness).Business Проект объявляет тип с именемModel.

Проблема в том, что я могу использоватьModel вWeb проект (т.е. компилятор видит типModel и я могу сделатьvar a = new Model();) как будтоWeb проект ссылалсяBusiness, но это на самом деле имеет только ссылку наService.

Как я могу спрятатьсяModel изWeb? Это новая функция в ASP.NET Core 2 или все проекты .NET Standard похожи на это?

редактировать

Как указаноВотЭто связано с переходными ссылками на проекты, которые являются новой «функцией» в .NET Standard, но как мне это исправить?

Ответы на вопрос(1)

Ваш ответ на вопрос