c# - 是否可以将 .exe 程序集安装到 GAC 中?

标签 c# dll exe .net-assembly gac

当我阅读有关 GAC 安装的信息时,我发现无法将 exe 程序集安装到 GAC 中。但是,检查我的 PC GAC 文件夹时,我发现了一个名为 dfsvc.exe 的 exe。

你知道为什么吗?真的无法在该文件夹中安装 exe 程序集吗?

This is the book part

this is my exe in the GAC

最佳答案

是的,可以将 .NET 可执行文件(即程序集)存储到 GAC 中。您使用gacutil -i path\to\assembly.exe使用提升的命令 shell。确保您对可执行文件进行了强签名。

正如汉斯在评论中提到的,dfsvc.exeClickOnce相关。我猜测可执行文件会公开 API,这就是它被注册的原因。也许他们不想将 API 与 EXE 分开以最大限度地减少占用空间(例如,他们不希望 EXE 位于一处,而 DLL 位于 GAC 中)。

此外,还可以运行 EXE。只需切换到C:\Windows\Microsoft.NET\assembly的子目录即可程序所在的位置,然后运行它(假设您不需要 .exe.config 文件,该文件当然无法安装在 GAC 中!

关于c# - 是否可以将 .exe 程序集安装到 GAC 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42725540/

相关文章:

image - 使用 PowerGUI 将 ps1 转换为 exe 时包含图片

c - 为什么我的 Makefile 中的 .exe 不是从我的第二个文件中打印出来的?

c# - 什么时候应该将集合循环转换为 Linq 语句?

c# - 将 DLL 嵌入已编译的可执行文件中

dll - 在 Visual Studio 2013 中添加对您自己的 DLL 项目的依赖项/引用

javascript - Unity C# 如何正确加载托管 DLL?

JavaFX native 打包 - 初始化静态变量时出现奇怪的错误

c# - ShowHelp 功能失败通知

c# - 将不可变对象(immutable对象)持久化到关系数据库

c# - 以 yyyy/MM/dd HH :mm:ss cause validation error in asp.net mvc 格式保存日期时间