最近,我读到了 Use the ASP.NET Core shared framework我想知道:
<FrameworkReference Include="Microsoft.AspNetCore.App" />
时,我是否应该考虑任何缺点或注意事项? ? 例如,我创建了一个简单的控制台应用程序并使用
self-hosted
发布了它。选项。输出大小比 <FrameworkReference Include="Microsoft.AspNetCore.App" /
大 20mb即使我没有明确使用任何 Microsoft.AspNetCore
包裹
最佳答案
共享框架是包含在运行时中的程序集集合,因此不需要通过 NuGet 单独解析。不过,您可以将其视为 NuGet 包,因为处理方式非常相似。当然,主要区别在于它不需要从 NuGet 下载,因为它可以通过运行时在本地使用。
由于它与运行时一起分发,这也意味着您不能引用它的特定版本。相反,您始终会获得包含在可用运行时版本中的版本。这样做的好处是内容将在运行时更新时自动更新,因此依赖于共享框架之一的应用程序也将在运行时前滚。
Microsoft.NET.Sdk
的所有内容项目 SDK 及其子类型工作,包括 FrameworkReference
执行。Microsoft.NET.Sdk.Web
默认情况下已包含框架引用的项目 SDK。如果要在非 Web 项目中(例如在 ASP.NET Core 的类库中)添加 ASP.NET Core 引用,则只需自己添加框架引用。除此之外,你需要记住的事情并不多。请记住不要使用某个版本并保持您的 SDK 和运行时更新,以确保您拥有所有最新的安全补丁。
关于c# - <FrameworkReference Include ="Microsoft.AspNetCore.App"/> 在.net core 3+ 中实际上是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64478618/