【问题标题】:How to add a dll to gac in vistavista中如何将dll添加到gac
【发布时间】:2008-09-09 22:36:35
【问题描述】:

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

【问题讨论】:

    标签: dll windows-vista gac


    【解决方案1】:

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

    【讨论】:

    • GacUtil 附带 Visual Studio,位于此处:C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin for Windows 7。有关更多详细信息,请参阅此答案:stackoverflow.com/questions/3397479/where-is-gacutil-exe - Directions关于如何在这里使用 GacUtil:msdn.microsoft.com/en-us/library/ex0ss12c(v=VS.90).aspx
    • 以管理员身份运行没有帮助。似乎 Windows 资源管理器不再支持将 dll 拖到 assemly 文件夹中。你必须使用 gacutil。
    • 我看到一些带有 Windows server 2008 R2 的机器允许它。我不知道它是如何启用的
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      在使用 vista 时,您可能无法在 windows 文件夹中找到 gacutil.exe。由于 vista 的“徽标计划等等”,它不包括在内。尝试使用 Windows 安装程序将您的程序集添加到 gac 中。这是推荐的方式。

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

      【讨论】:

        【解决方案4】:

        您可以使用 gacutil.exe 做到这一点。它位于:

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

        只有在您安装了 .NET SDK(而不仅仅是 .Net Redistributible)的情况下,它才会出现。 但是你可以从你的开发者机器上复制它。

        【讨论】:

          【解决方案5】:

          如果要驻留在 GAC 中,还需要对程序集 (dll) 进行强命名。

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

          【讨论】:

            【解决方案6】:

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

            打开 Visual Studio 命令提示符

            首先打开 Visual Studio 命令提示符(对于 Visual Studio 2008,路径为 Programs --> Visual Studio 2008 --> Visual Studio Tools --> Visual Studio 2008 Command Prompt )将创建以下步骤中提到的所有文件在 Visual Studio 2008 命令提示符路径中。就我而言,它是 C:\Program Files\Microsoft Visual Studio 9.0\VC

            1. 生成密钥文件 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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-05-26
              • 1970-01-01
              • 2012-07-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多