簡體   English   中英

我在哪里可以找到 GACUtil?

[英]Where can I find GACUtil?

我知道有很多人在問同樣的事情,我已經閱讀了所有相關的帖子,但是我找不到 gacutil.exe,我正在查看 C:\\WINDOWS\\microsoft.net\\Framework\\v1.1.4322 和我找到了 gacutil.exe.config 但顯然它只是配置文件。 我需要在 GAC 中包含一個 dll。

這是我在沒有任何成功的情況下查看 exe 的列表:

  • C:\\Program Files\\Microsoft.NET
  • C:\\WINDOWS\\microsoft.net\\Framework\\v1.1.4322
  • C:\\Program Files\\Microsoft Visual Studio 8\\SDK\\v2.0\\Bin

提前致謝。

您可以在 C:\\windows\\assembly\\ 下的任何窗口框中找到 GAC

或 %windir%\\assembly

GACUTIL -i filename 向 GAC 注冊文件,但不一定將文件定位在 %windir%\\assembly 文件夾中。 這是一個由 SHFUSION.DLL 控制的虛擬文件夾,它是 Windows 資源管理器用來顯示這些文件的插件。

進一步閱讀這里

如果您不能簡單地輸入 GACUTIL /? 從 cmd 提示符。 您可以在 windows 中導航到 windows dir 的程序集子文件夾,然后將 dll 拖放到該文件夾​​中。 您需要成為 PC 的管理員才能執行此操作。

通常要訪問此實用程序,我會啟動 VS 2010 命令提示符,因為它具有適當的 %PATH% 變量設置來定位 gacutil cmd。

在我的盒子上,我有 4 份……第一份在這兒。 C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Bin\\NETFX 4.0 Tools\\x64

最有可能的問題是您沒有在您嘗試執行此操作的機器上安裝 1.1 框架的框架 sdk。 你可以在這里下載

您可以使用 Visual Studio 命令提示符運行 GACUtil。 Visual Studio 命令提示符隨 Visual Studio 自動安裝。 要運行該工具,請使用開發人員命令提示符(或 Windows 7 中的 Visual Studio 命令提示符)。 有關詳細信息,請參閱Visual Studio 命令提示符

在 Windows 8.1 中 - 在“開始”屏幕上,按 CTRL + TAB 打開應用列表,然后按 V。該列表將包含所有已安裝的 Visual Studio 命令提示。 (要打開“開始”屏幕,請按鍵盤上的 Windows 徽標鍵 Windows 徽標。)選擇開發人員命令提示符(或您要使用的命令提示符)。

在 Windows 8 中 - 在“開始”屏幕上,按 Windows 徽標鍵 Windows 徽標 + Z。(要打開“開始”屏幕,請按鍵盤上的 Windows 徽標鍵 Windows 徽標。)選擇屏幕底部的應用程序視圖圖標,然后然后按 V。該列表將包括所有已安裝的 Visual Studio 命令提示。 選擇開發人員命令提示符(或您要使用的命令提示符)。

在 Windows 7 中 - 選擇開始,展開所有程序,然后展開 Microsoft Visual Studio。 根據已安裝的 Visual Studio 版本,選擇 Visual Studio 工具、Visual Studio 命令提示符或要使用的命令提示符。

GACUtil 信息: https ://msdn.microsoft.com/en-us/library/ex0ss12c(v = vs.110).aspx

示例命令:

C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC>cd C:\\Windows\\Microsoft.N et\\assembly\\GAC_MSIL\\elite.eai.importsvc.generic.fm\\v4.0_2.4.3.0__f659f54317ad7e 73\\

C:\\Windows\\Microsoft.NET\\assembly\\GAC_MSIL\\Elite.EAI.ImportSvc.Generic.FM\\v4.0_2 .4.3.0__f659f54317ad7e73>gacutil.exe /i "elite.eai.importsvc.generic.fm.dll" Microsoft (R) .NET 全局程序集緩存實用程序。 版本 4.0.30319.1 版權所有 (c) Microsoft Corporation。 版權所有。

程序集已成功添加到緩存

在 Windows 2012 R2 Server 上,如果不允許安裝 Visual Studio 或 SDK,
您可以使用 powershell 將程序集注冊到 GAC。 它對我來說不需要任何特殊安裝。

Set-location "C:\Temp"
 [System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
 $publish = New-Object System.EnterpriseServices.Internal.Publish
 $publish.GacInstall("C:\Temp\myGacLibrary.dll")

C:\\Windows\\assembly 這是 GAC,但它僅引用程序集實際所在的位置。 在此處可見僅表示已向 GAC 注冊。

如果您的應用程序是企業應用程序,則您的 Production 機器上不會有 GacUtil(假設您使用的是 Windows 2012 R2 或更高版本)。 因此,使用 Gacutil 將程序集注冊到 GAC 毫無意義。 您可以使用 powershell 使用其他答案中列出的 GacInstall 和 GacRemove 方法。 它對我有用。 只是花了一些時間來弄清楚確切的語法。

獲取gacutil一種簡單方法是從已經安裝了gacutil的機器上獲取它。 您將需要gacutil.exegacutil.exe.config來自

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\
(or analogous location)

以及1033子目錄中的gacutlrc.dll

例如, 這里是一個帶有gacutil 4.0.30319.0 的存檔。 與安裝包含數百個文件的龐大Windows SDK相比,這是一種更精簡、更簡單的分發方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM