use*_*696 23 .net gac .net-core
正如我在完整的.NET Framework中理解的那样,当我们将框架安装到机器时,它将整个BCL部署到计算机的GAC.通过这种方式,当我们使用.NET开发软件并部署到该计算机时,它将使用安装.NET Framework本身时在GAC中提供的BCL程序集.
现在,我知道CoreFX相当于新.NET Core的BCL.然而,主要区别在于我们可以project.json准确地指定我们需要的CoreFX的哪些部分.
我的问题是:当我们部署.NET Core应用程序时,生产环境中是否有任何GAC等价物?因此,当我们部署要执行的应用程序时,计算机中是否有任何中心位置,应用程序将查看整个CoreFX是否可用?
Sta*_*ajs 23
编辑2017-09-01
有点类似于GAC,.NET Core 2.0引入了" 运行时包存储 ":
从.NET Core 2.0开始,可以根据目标环境中存在的一组已知软件包打包和部署应用程序.在某些情况下,优点是更快的部署,更低的磁盘空间使用和更高的启动性能.
此功能实现为运行时包存储,它是存储包的磁盘上的目录(通常位于macOS/Linux上的/ usr/local/share/dotnet/store和Windows上的C:/ Program Files/dotnet/store) .
您正在寻找"依赖于框架的部署".来自文档:
您可以为.NET Core应用程序创建两种类型的部署:
依赖于框架的部署.顾名思义,依赖于框架的部署(FDD)依赖于目标系统上存在的共享系统范围的.NET Core版本.由于.NET Core已经存在,因此您的应用程序也可以在.NET Core的安装之间移植.您的应用程序仅包含自己的代码以及.NET Core库之外的任何第三方依赖项.FDD包含.dll文件,可以使用命令行中的dotnet实用程序启动.例如,
dotnet app.dll运行名为的应用程序app.自包含部署.与FDD不同,自包含部署(SCD)不依赖于目标系统上存在的任何共享组件.所有组件(包括.NET Core库和.NET Core运行时)都包含在应用程序中,并与其他.NET Core应用程序隔离.SCD包括可执行文件(例如,
app.exe在Windows平台上用于名为的应用程序app),它是特定于平台的.NET Core主机的重命名版本,以及.dll文件(例如app.dll),它是实际的应用程序.
不,没有,不是你想到GAC的方式.核心应用程序旨在彼此隔离,因此您可以修补一个而不必担心影响其他应用程序.您随应用程序发送了所需的所有软件包.
有一个服务目录可用于为Core组件提供更新,但它是完全交换它们,而不是启用并行版本控制,它仅适用于通过Microsoft Update发布的更新.
| 归档时间: |
|
| 查看次数: |
5992 次 |
| 最近记录: |