Яро*_*вич 4 c# asp.net-core asp.net-core-3.1
最近,我阅读了有关使用 ASP.NET Core 共享框架的文章,我想知道:
<FrameworkReference Include="Microsoft.AspNetCore.App" />吗?例如,我创建了一个简单的控制台应用程序并发布了它的self-hosted选项。<FrameworkReference Include="Microsoft.AspNetCore.App" /即使我没有明确使用任何Microsoft.AspNetCore软件包,输出大小也要大20mb
共享框架是包含在运行时中的程序集集合,因此不需要通过 NuGet 单独解析。不过,您可以将其视为 NuGet 包,因为处理方式非常相似。当然,主要区别在于它不需要从 NuGet 下载,因为它可以在本地随运行时一起使用。
由于它与运行时一起分发,这也意味着您不能引用它的特定版本。相反,您始终会获得包含在可用运行时版本中的版本。这样做的好处是内容将在运行时更新时自动更新,因此依赖于共享框架之一的应用程序也将在运行时前滚。
试图详细回答这个问题超出了 Stack Overflow 答案的范围,因为这是一些深层的 MSBuild 逻辑。如果您有兴趣了解,可以查看dotnet/sdk 存储库,其中包含使Microsoft.NET.Sdk项目 SDK 及其子类型正常工作的所有内容,包括FrameworkReference实现。
首先,您应该知道,如果不使用该框架参考,就无法使用例如 ASP.NET Core。所以你的选择并不多。大多数情况下,您不会自己添加框架引用;ASP.NET Core 应用程序Microsoft.NET.Sdk.Web默认使用已包含框架参考的项目 SDK。如果要在非 Web 项目中(例如在 ASP.NET Core 的类库中)添加 ASP.NET Core 引用,则只需自己添加框架引用。
除此之外,你需要记住的事情并不多。请记住不要使用某个版本并保持您的 SDK 和运行时更新,以确保您拥有所有最新的安全补丁。
| 归档时间: |
|
| 查看次数: |
1927 次 |
| 最近记录: |