繁体   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