如何在GAC中注册.NET DLL文件?

Vin*_*eet 78 c# gac dllregistration

我已经创建了一个.NET .DLL文件,我想在GAC中注册.

我在Windows Server 2003命令提示符中使用了此命令:

C:\"Path of dll"\>gacutil /i dllname.dll
'gacutil' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

它说路径不正确.

我是否需要在.NET cmd提示符中使用它?如果是这样,我无法找到.NET cmd提示符.

Fre*_*örk 96

您可以使用该gacutil工具执行此操作.最简单的形式:

gacutil /i yourdll.dll
Run Code Online (Sandbox Code Playgroud)

您可以在程序 - > Visual Studio - > Visual Studio工具下的开始菜单中找到Visual Studio命令提示符.

  • 如果您没有Visual Studio,则可以在C:\ Program Files(x86)\ Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools \中访问gacutil.exe.至少它是Win2012R2服务器上存在的位置. (5认同)

Rub*_*ias 34

你需要:

  • 强化您的程序集(Visual Studio,项目属性,签名选项卡,签署程序集)
  • 更改构建事件(项目属性,构建事件选项卡,构建后命令行)
   cd C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin
   gacutil.exe /i "$(TargetPath)" /f /nologo
   gacutil /l "$(TargetName)" /nologo

现在,每次构建项目时,它都将安装在GAC上.


And*_*ndo 17

只需C:\Windows\assembly使用Windows资源管理器将DLL文件拖放到文件夹中即可.

  • "在早期版本的.NET Framework中,Shfusion.dll Windows外壳扩展使您能够通过在文件资源管理器中拖动它们来安装程序集.从.NET Framework 4开始,Shfusion.dll已过时." https://msdn.microsoft.com/en-us/library/dkkx7f79(v=vs.110).aspx (8认同)
  • 这对我的结果没有影响 - 没有添加库,没有错误消息.我正在使用管理员帐户. (6认同)
  • 您需要使用管理员帐户登录,因为"运行方式"不适用于拖放. (2认同)

小智 12

这些响应并没有告诉你gacutil顺便居住在C:\ WINDOWS\Microsoft.NET\Framework\v1.1*中.

我没有在我的v2.0文件夹中.但是我尝试将DLL拖放到C:\ WINDOWS\Assembly文件夹中,如前面所建议的那样,只要它是一个.NET库,它就更容易并且工作正常.我也尝试了一个COM库,这个失败了一个错误,它期待一个程序集清单.我知道这不是问题,但我想我会提到,如果有人发现他们无法添加它,那可能就是原因.

-Tom


tbi*_*hel 11

来自维基百科:

gacutil.exe是用于与GAC一起使用的.NET实用程序.

可以使用以下命令检查GAC中共享程序集的可用性:

gacutil.exe /l "assemblyName"
Run Code Online (Sandbox Code Playgroud)

可以使用以下命令在GAC中注册共享程序集:

gacutil.exe /i "assemblyName"
Run Code Online (Sandbox Code Playgroud)

或者使用GUI将程序集文件放入以下位置:

%windir%\assembly\
Run Code Online (Sandbox Code Playgroud)

如果使用/?标志,将简要描述此实用程序的其他选项,即:

gacutil.exe /?
Run Code Online (Sandbox Code Playgroud)


abm*_*bmv 5

如果您害怕命令提示,请尝试GACView

您没有在 DOS 中正确设置 PATH。您需要指向 gacutil 所在的路径才能在 DOS 中使用它。