我知道有很多人问同样的事情,我已经阅读了所有相关的帖子,但我找不到gacutil.exe,我正在看C:\ WINDOWS \ microsoft.net \ Framework \ v1 .1.4322我找到了gacutil.exe.config但显然它只是配置文件。我需要在GAC中加入一个dll。
这是我查看exe的位置没有任何成功的列表:
提前致谢。
答案 0 :(得分:17)
您可以在C:\ windows \ assembly \
下的任何Windows框中找到GAC或%windir%\ assembly
GACUTIL -i filename使用GAC注册文件,但不一定在%windir%\ assembly文件夹中找到该文件。这是一个由SHFUSION.DLL控制的虚拟文件夹,它是Windows资源管理器用于显示这些文件的插件。
如果您不能简单地键入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.exe
和gacutil.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 相比,这是一种更精简的分发方法。