Sae*_*eid 4 c# asp.net-core asp.net-core-2.0
这些是我的项目层:
.NET Core 2.0 Web Project: UILayer
.NET Standard Class library : BusinessLayer
.NET Standard Class library : DataAccessLayer
Run Code Online (Sandbox Code Playgroud)
我将 BusinessLayer 的引用添加到 UILayer 并将 DataAccessLayer 的引用添加到 BusinessLayer
所以我希望这些层只能访问那些被引用的 dll。但现在我看到 UILayer 可以访问 DataAccessLayer!为什么?我怎样才能防止这种情况发生呢?(我的意思是物理上而不仅仅是逻辑上)
它似乎是 .NET Core 中的新功能,我看不到 .NET Framework 4.6.1 类库的相同功能。那么另一个问题是,为什么要在 ASP.NET Core 项目中添加它呢?有什么优点吗?如果我想简单地访问该项目,我可以添加参考。
您可以指定在 BusinessLayer 项目的 .csproj 内,使用<PrivateAssets>内的元素<ProjectReference>来声明您不希望对父项目可见的资产。
这里有该元素的附加信息
<ProjectReference Include="{path-of-your-referenced-DataAccessLayer}">
<PrivateAssets>All</PrivateAssets>
</ProjectReference>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
841 次 |
| 最近记录: |