我在哪里可以找到GACUtil?

时间:2012-03-15 18:38:47

标签: .net dll gac

我知道有很多人问同样的事情,我已经阅读了所有相关的帖子,但我找不到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 \框架\ V1.1.4322
  • C:\ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bin

提前致谢。

6 个答案:

答案 0 :(得分:17)

您可以在C:\ windows \ assembly \

下的任何Windows框中找到GAC

或%windir%\ assembly

GACUTIL -i filename使用GAC注册文件,但不一定在%windir%\ assembly文件夹中找到该文件。这是一个由SHFUSION.DLL控制的虚拟文件夹,它是Windows资源管理器用于显示这些文件的插件。

Further Reading Here

如果您不能简单地键入GACUTIL /?从cmd提示符。您可以在Windows中导航到Windows目录的程序集子文件夹,然后将dll拖放到该文件夹​​中。你需要成为电脑的管理员才能做到这一点。

通常,要访问此实用程序,我会启动VS 2010命令提示符,因为它具有相应的%PATH%变量设置以找到gacutil cmd。

在我的包装盒上,我有4份副本......第一份就在这里。 C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools \ x64

最有可能的问题是,您没有在您尝试执行此操作的框上安装1.1框架的框架sdk。 You can download that here

答案 1 :(得分:3)

您可以使用Visual Studio命令提示符运行GACUtil。 Visual Studio命令提示符随Visual Studio自动安装。要运行该工具,请使用Developer Command Prompt(或Windows 7中的Visual Studio命令提示符)。有关详细信息,请参阅Visual Studio Command Prompt

在Windows 8.1中 - 在“开始”屏幕上,按CTRL + TAB打开“应用程序”列表,然后按“V”。该列表将包括所有已安装的Visual Studio命令提示。 (要打开“开始”屏幕,请按键盘上的Windows徽标键Windows徽标。) 选择Developer Command Prompt(或您要使用的命令提示符)。

在Windows 8中 - 在“开始”屏幕上,按Windows徽标键Windows徽标+ Z.(要打开“开始”屏幕,请按键盘上的Windows徽标键Windows徽标。) 选择屏幕底部的“应用程序”视图图标,然后按V.该列表将包括所有已安装的Visual Studio命令提示。 选择Developer Command Prompt(或您要使用的命令提示符)。

在Windows 7中 - 选择“开始”,展开“所有程序”,然后展开“Microsoft Visual Studio”。 根据您安装的Visual Studio版本,选择Visual Studio Tools,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 等\组件\ GAC_MSIL \ elite.eai.importsvc.generic.fm \ v4.0_2.4.3.0__f659f54317ad7e 73 \

C:\的Windows \ Microsoft.NET \组件\ 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。保留所有权利。

程序集已成功添加到缓存

答案 2 :(得分:1)

C:\的Windows \组件 这是GAC,但它仅引用程序集实际驻留的位置。仅在此处可见表示向GAC注册。

答案 3 :(得分:0)

在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")

答案 4 :(得分:0)

如果您是企业应用程序,则您的生产环境中将不会带有GacUtil(假设您使用的是Windows 2012 R2或更高版本)。 因此,使用Gacutil将程序集注册到GAC毫无意义。您可以使用Powershell使用其他答案中列出的GacInstall和GacRemove方法。它为我工作。弄清楚确切的语法只花了一些时间。

答案 5 :(得分:0)

获取gacutil的一种简单方法是从已经安装了它的计算机上获取它。您将需要来自{p>的gacutil.exegacutil.exe.config

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

,还有gacutlrc.dll子目录中的1033

例如,

Here是具有gacutil 4.0.30319.0的存档。与安装带有数百个文件的大型 Windows SDK 相比,这是一种更精简的分发方法。