最近,我读到使用ASP.NET Core共享框架我想知道:
- 它在幕后是如何工作的?
- 添加时是否有任何我应该考虑的缺点或警告
<FrameworkReference Include="Microsoft.AspNetCore.App" />
?
例如,我创建了一个简单的控制台应用程序并将其发布为self-hosted
选项。输出大小增加了 20mb<FrameworkReference Include="Microsoft.AspNetCore.App" /
即使我没有明确使用任何Microsoft.AspNetCore
包
共享框架是包含在运行时中的程序集集合,因此不需要通过 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 和运行时更新,以确保您拥有所有最新的安全补丁。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)