6

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

4

6 回答 6

5

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

于 2008-09-09T22:38:48.363 回答
1

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

于 2008-09-09T22:39:46.537 回答
0

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

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

于 2008-09-10T07:26:01.013 回答
0

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

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

但是,如果您安装了 .NET SDK(而不仅仅是 .Net Redistributible),它就在那里。但是你可以从你的开发者机器上复制它。

于 2008-09-16T16:06:58.590 回答
0

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

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

于 2008-10-11T00:00:47.420 回答
0

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

打开 Visual Studio 命令提示符

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

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