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

有帮助吗?

解决方案

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

其他提示

使用 鲁纳斯 运行命令 加库提尔 以具有本地管理员权限的用户身份将 dll 注册到 GAC。

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

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

您可以使用 gacutil.exe 来完成此操作。它位于:

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

但只有当您安装了 .NET SDK(不仅仅是 .Net Redistributible)时,它才会出现。但您可以从开发人员机器上复制它。

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

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

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

打开 Visual Studio 命令提示符

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

  1. 生成一个键file sn -k keypair.snk
  2. 获取MSIL的组件Ildasm someaseSemeSembly.dll /out:someassembly.il
  3. 重命名原始组件,以防万一ren someasemembly.dll someassembly.dll.orig
  4. 通过MSIL输出和您的键file iLasm someAseSembly.il /dll /dll /key = keypair.snk构建一个新的组件。
  5. 将dll安装到gac gacutil -i someAssembly.dll中
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top