[英]How to prevent the access to projects that are not referenced directly in ASP.NET Core
这些是我的项目层:
.NET Core 2.0 Web Project: UILayer
.NET Standard Class library : BusinessLayer
.NET Standard Class library : DataAccessLayer
我将BusinessLayer的引用添加到UILayer,将DataAccessLayer的引用添加到BusinessLayer
因此,我希望这些层可以访问被引用的那些dll。 但是现在我看到UILayer可以访问DataAccessLayer了! 为什么? 我该如何预防呢? (我的意思是物理上不只是逻辑上)
似乎它是.NET Core中的新功能,.NET Framework 4.6.1类库没有相同的功能。 那么另一个问题是,为什么要将它添加到ASP.NET Core项目中? 有什么好处吗? 如果我想访问该项目,只需添加参考即可。
您可以指定在BusinessLayer项目的.csproj中,使用<ProjectReference>
的<PrivateAssets>
元素声明您不想在父项目中可见的资产。 在这里,您有关于此元素的其他信息
<ProjectReference Include="{path-of-your-referenced-DataAccessLayer}">
<PrivateAssets>All</PrivateAssets>
</ProjectReference>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.