如何在Vista中为gac添加一个dll

时间:2008-09-09 22:36:35

标签: dll windows-vista gac

当我拖动&将dll放到vista上的程序集文件夹中,我收到错误“访问被拒绝:mydll.dll”。如何绕过错误消息并将我的dll添加到gac?

6 个答案:

答案 0 :(得分:5)

我的猜测是你必须以管理员身份执行...尝试禁用UAC,或使用gacutil.exe添加程序集。

答案 1 :(得分:1)

使用runas命令以具有本地管理员权限的用户身份运行gacutil,以便将dll注册到GAC。

答案 2 :(得分:0)

使用vista时,您可能无法在Windows文件夹中找到gacutil.exe。它不包括在内,因为vista的“Logo Program blah blah”的东西。尝试使用Windows安装程序将程序集添加到gac中。这是推荐的方式。

永远不要忘记这个传统的ogrish谚语:“Bi siktir git cay koy”。

答案 3 :(得分:0)

您可以使用gacutil.exe执行此操作。它位于:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

只有在那里,如果你安装了.NET SDK(不仅仅是.Net Redistributible)。 但是您可以从开发人员计算机上复制它。

答案 4 :(得分:0)

如果汇编(dll)将驻留在GAC中,则还需要强烈命名它。

http://msdn.microsoft.com/en-us/library/wd40t7ad(VS.80).aspx

答案 5 :(得分:0)

使用命令行,使用以下步骤:

打开Visual Studio命令提示符

首先打开Visual Studio命令提示符(对于Visual Studio 2008,路径是程序 - > Visual Studio 2008 - > Visual Studio工具 - > Visual Studio 2008命令提示符)以下步骤中提到的所有文件将在Visual Studio 2008命令提示符路径中创建。在我的例子中,它是C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC

  1. 生成KeyFile sn -k keyPair.snk
  2. 获取程序集的MSIL ildasm SomeAssembly.dll /out:SomeAssembly.il
  3. 重命名原始装配,以防万一 ren SomeAssembly.dll SomeAssembly.dll.orig
  4. 从MSIL输出和KeyFile构建新程序集 ilasm SomeAssembly.il / dll /key=keyPair.snk
  5. 将DLL安装到GAC中 gacutil -i SomeAssembly.dll