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

问题描述 投票:74回答:11

我已经制作了一个.NET .DLL文件,我想在GAC中注册。

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

C:\"Path of dll"\>  gacutil /i dllname.dll

它说路径不正确。

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

c# gac dllregistration
11个回答
94
投票

你可以使用gacutil工具做到这一点。最简单的形式:

gacutil /i yourdll.dll

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


1
投票

从发布选项卡转到应用程序文件单击然后不必要的文件执行排除比确定。构建项目文件。并运行项目。


0
投票

上述解决方案看起来很棒。但是,简单来说,我想要的只是输入程序集名称及其完整路径,如:

gacutil -i C:\MyDlls\GacDeployedAssemblies\dllname.dll

注意C:\ MyDlls \ GacDeployedAssemblies


33
投票

你需要:

  • 强化您的程序集(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上。


17
投票

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

警告:

在早期版本的.NET Framework中,Shfusion.dll Windows外壳扩展允许您通过将程序集拖动到文件资源管理器来安装程序集。从.NET Framework 4开始,Shfusion.dll已过时。

资料来源:How to: Install an assembly into the global assembly cache


12
投票

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

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

-Tom


10
投票

From Wikipedia

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

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

gacutil.exe /l "assemblyName"

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

gacutil.exe /i "assemblyName"

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

%windir%\assembly\

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

gacutil.exe /?

4
投票
  • 运行开发人员命令提示符对于V2012或系统中安装的任何版本
  • gacutil / i pathofDll
  • 输入

完成!


3
投票

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

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


3
投票

正如ando所说,只需将程序集拖放到C:\ windows \ assembly文件夹即可。有用。


1
投票

如果在Windows 7上gacutil.exe(将程序集放在GAC中)和sn.exe(以确保程序集的唯一性)驻留在C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ bin

然后转到gacutil的路径,如下所示,在更换程序集的路径后执行以下命令

C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ bin> gacutil / i“替换为要放入GAC的程序集的路径”

© www.soinside.com 2019 - 2024. All rights reserved.