Desativar referência transitiva de projeto no .NET Standard 2
Estou escrevendo um site MVC usando o ASP.NET Core 2.0.
No projeto ASP.NET Core (vamos chamá-loWeb
), Refiro um projeto .NET Standard 2 na mesma solução (vamos chamá-loService
) oService
O projeto também faz referência a uma terceira biblioteca do .NET Standard 2 na solução (vamos chamar deBusiness
) oBusiness
projeto declara um tipo chamadoModel
.
O problema é que eu posso usarModel
noWeb
projeto (ou seja, o compilador vê o tipoModel
e eu posso fazervar a = new Model();
) como se oWeb
projeto referenciouBusiness
, mas na verdade só tem uma referência aService
.
Como posso me esconderModel
deWeb
? Esse é um novo recurso do ASP.NET Core 2 ou de todos os projetos do .NET Standard que são assim?
Editar
Como especificadoaqui, isso ocorre devido às referências transitivas do projeto, que são um novo "recurso" no .NET Standard, mas como corrigi-lo?