考虑以下命令
gacutil /i Microsoft.Powershell.ConsoleHost.dll
这会将程序集安装到
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.PowerShell.ConsoleHost
现在,考虑一台没有gacutil
. 您可以安装
此更新,并且相同的程序集将安装到相同的位置。此更新如何在没有的情况下安装到全局程序集缓存gacutil
?
考虑以下命令
gacutil /i Microsoft.Powershell.ConsoleHost.dll
这会将程序集安装到
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.PowerShell.ConsoleHost
现在,考虑一台没有gacutil
. 您可以安装
此更新,并且相同的程序集将安装到相同的位置。此更新如何在没有的情况下安装到全局程序集缓存gacutil
?
任何组件都应该(并且在这种特定情况下很可能会)使用安装程序进行安装。
使用 Windows 安装程序。这是将程序集添加到全局程序集缓存的推荐且最常用的方法。安装程序在全局程序集缓存中提供程序集的引用计数,以及其他好处。[...] Gacutil.exe 仅用于开发目的,不应用于将生产程序集安装到全局程序集缓存中。
Windows Installer 使用 Microsoft .NET Framework 将公共语言运行时程序集安装到全局程序集缓存中。
来自MSDN:DOC:全局程序集缓存 (GAC) API 未记录在 .NET Framework 软件开发工具包 (SDK) 文档中(通过SO:将 DLL 拖放到 windows server 2008 .net 中的 GAC(“程序集”) 4.0 ):
.NET Framework 软件开发工具包 (SDK) 文档中未记录允许您与全局程序集缓存 (GAC) 交互的本机代码应用程序编程接口 (API)。
实际安装似乎是通过IAssemblyCache::InstallAssembly()
.