.Net Gacutil工具(全局程序集缓存工具)使用教程

embedded/2024/9/23 17:06:13/

GAC介绍:

GAC(Global Assembly Cache)全局程序集缓存,是用于存放.Net应用程序共享的程序集。

像平常我们在Visual Studio中引用系统程序集时,这些程序集便来自于GAC

GAC默认位置为:%windir%\Microsoft.NET\assembly(%windir%代表的是你Windows的安装目录,一般为C:\Windows)

Gacutil(Global Assembly Cache Tool)

Gacutil是用于对GAC进行管理的工具,它随 Visual Studio 一起安装。

如何打开Gacutil

1、打开Visual Studio开发人员命令提示符(管理员运行)

2、输入gacutil.exe

 Gacutil使用教程:

一、列出GAC所有程序集

1 gacutil.exe /l

二、列出GAC中指定名称的程序集,如System.Drawing

1 gacutil.exe /l System.Drawing

三、上面两个命令参数/l后带上r,可以显示更加详细的程序集信息,包括跟踪引用信息。

如:

1 gacutil.exe /lr
1 gacutil.exe /lr System.Drawing

四、安装程序集到GAC

1 gacutil.exe /i "程序集路径"

注意:

1、一般情况下,都是将程序集放在运行目录下。无须安装到GAC。除非明确要求共享该程序集。

2、程序集需要具有强名称,否则会安装失败。

下面介绍如何生成一个具有强名称的程序集

使用Visual Studio创建一个类库工程,命名为ClassLibrary1

使用SN.exe生成一个密钥文件(在Visual Studio开发人员命令提示符中运行)

注意:如果不指定路径,会生成到当前命令提示符所在的目录。可以指定目录生成。我这里直接生成到D盘

Sn -k D:\ClassLibrary.snk

打开ClassLibrary1类库工程的Properties->AssemblyInfo.cs,添加一行

1 [assembly: AssemblyKeyFile(@"D:\ClassLibrary.snk")]

这个时候就可以安装成功了

查看

如果需要在安装时指定详细信息,可以带上/r参数

1 gacutil.exe /r <reference_scheme> <reference_id> <description>

reference_scheme是所添加的引用的类型。可以取:UNINSTALL_KEY、FILEPATH 或 OPAQUE这几个值

reference_id是程序集的标识符,取决于 reference_scheme

description是代表当前reference_scheme的说明。

使用示例如下:

1 gacutil /i D:\ClassLibrary1.dll /r OPAQUE FFFFFFFF-ABCD-ABCD-ABCD-52707CDFAFFF "Installed by user"

这个时候,我们再去查看该程序集,就可以看到如下详细信息了

五、批量安装程序集到GAC

gacutil.exe  /il list.txt

list.txt中的内容如下:

批量安装时也可以带上参数 /r,来指定详细信息

六、从GAC中卸载程序集

1 gacutil.exe /u ClassLibrary1

说明:尽量指定详细的程序集名,因为GacUtil是按照文件名包含来查找的,防止误删。

1 gacutil.exe /u ClassLibrary1,Version=1.0.0.0,Culture=neutral

七、从GAC中批量卸载程序集

gacutil.exe /ul list.txt

list.txt内容如下

八、移除所有跟踪引用,强制卸载程序集

1 gacutil.exe /uf ClassLibrary1,Version=1.0.0.0,Culture=neutral

http://www.ppmy.cn/embedded/115693.html

相关文章

【x**3专享】安装SSH、XFTP、XShell、ARM Linux

你已经安装好了 VMware 17 和 Ubuntu&#xff0c;接下来可以按照以下步骤安装并配置 SSH、Xftp、Xshell 以及 ARM Linux 开发环境。 1. 安装 SSH 服务器 SSH 服务器允许你通过 Xshell 远程连接到 Ubuntu 系统。 在 Ubuntu 中打开终端并输入以下命令来安装 SSH&#xff1a; …

R18 5G网络中 AI/ML技术特性及其在5GS和NG-RAN中的应用

随着5G技术的发展&#xff0c;人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;在网络中的应用越来越广泛。本文将介绍R18 5G网络中AI/ML的新特性&#xff0c;包括在5G系统&#xff08;5GS&#xff09;中的应用、在新一代无线接入网&#xff08;NG-RAN…

使用MPlayer播放音视频

目录 一、MPlayer简介 二、MPlayer的安装 1. 在 Linux 上安装 2. 在 Windows 上安装 3. 在 macOS 上安装 三、MPlayer的基本用法 1. 播放本地文件 2. 播放网络视频流 3. 播放DVD 四、常用选项和参数 1. 全屏播放 2. 指定音频/视频输出设备 3. 调整音量和亮度 4. 控…

Leetcode 378. 有序矩阵中第 K 小的元素

1.题目基本信息 1.1.题目描述 给你一个 n x n 矩阵 matrix &#xff0c;其中每行和每列元素均按升序排序&#xff0c;找到矩阵中第 k 小的元素。 请注意&#xff0c;它是 排序后 的第 k 小元素&#xff0c;而不是第 k 个 不同 的元素。 你必须找到一个内存复杂度优于 O(n^2…

【简单点】docker如何部署tomcat

使用Docker部署Tomcat的详细步骤可以归纳如下&#xff1a; 一、准备阶段 检查Docker环境&#xff1a; 确保Docker已正确安装在您的系统上。可以通过在终端或命令提示符中运行docker --version或docker -v来检查Docker的版本&#xff0c;从而确认Docker是否已安装。如果未安装D…

Vue主题色实现

主题色实现 情境 配置平台支持多个主题色的选择&#xff0c;用户可通过在配置平台选择项目主题色。前端项目在骨架屏加载页面获取配置信息&#xff0c;设置项目主题色&#xff0c;实现同个项目不同主题色渲染的需求 实现 1.定义主题色变量 不同主题色根据不同js文件划分定…

【深度学习】【TensorRT】【C++】模型转化、环境搭建以及模型部署的详细教程

【深度学习】【TensorRT】【C】模型转化、环境搭建以及模型部署的详细教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】【TensorRT】【C】模型转化、环境搭建以及模型部署的详细教程前言模型转换--pytorch转engineWindows平台搭…

评估数据库元数据:注释、索引与约束的重要性及其对性能与维护的影响

在导入预设表结构时&#xff0c;评估自定义元数据&#xff08;例如注释、索引和约束&#xff09;对数据库性能和维护的影响是非常重要的。下面将分别讨论这些元素的作用以及它们如何影响数据库系统&#xff0c;并给出一些具体的例子。 注释&#xff08;Comments&#xff09; …