通常情況下,將程序集(Assembly)加入全局程序集緩存(GAC,Global Assembly Cache),可以使用GacUtil工具。只要使用/i參數(shù),就可以把指定路徑的程序集添加進GAC了。
不過由于GacUtil并不是.Net Framework的一部分,而是和Windows SDK一起發(fā)布的,這就導(dǎo)致了機器中安裝了.Net,卻可能找不到GacUtil的情況。
在PowerShell中,我們可以直接使用.Net的類庫來搞定這件事,而不需要通過GacUtil。具體代碼如下:
[Reflection.Assembly]::LoadWithPartialName("System.EnterpriseServices") > $null
[System.EnterpriseServices.Internal.Publish] $publish =
New-Object System.EnterpriseServices.Internal.Publish
$publish.GacInstall("DLL的完整路徑>")
另外,System.EnterpriseServices.Internal.Publish還提供了類似RegAsm的功能,具體可以查詢MSDN。
您可能感興趣的文章:- 使用PowerShell .Net獲取電腦中的UUID
- Powershell中可以使用的.Net實用靜態(tài)方法
- PowerShell入門教程之訪問.Net程序集、COM和WMI實例
- Powershell小技巧之查看安裝的.Net framework版本信息
- PowerShell中調(diào)用.NET對象的靜態(tài)方法、靜態(tài)屬性和類方法、類屬性例子
- PowerShell中查看當(dāng)前版本、Windows版本、.NET版本信息的代碼
- 一個ASP.Net下的WebShell實例
- PowerShell 定時執(zhí)行.Net(C#)程序的方法
- ASP.NET下使用WScript.Shell執(zhí)行命令
- 如何使用 Shell 腳本執(zhí)行 .NET Core 應(yīng)用