我的gacutil(vs2010 4.0版本)似乎无法正常工作。

15

我最近从零开始制作了我的第一个4.0 GAC程序集,但在尝试安装时出现以下错误信息:

Microsoft (R) .NET 全局程序集缓存实用程序。版本3.5.30729.1 Copyright (c) Microsoft Corporation。保留所有权利。

将程序集添加到缓存时失败:此程序集是由一个比当前加载的运行时更高级的运行时构建的,因此无法加载。

于是,我找到了4.0 GacUtil的位置(C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools),并用那里版本的exe和它的配置文件覆盖了原来的。然后再次运行/i命令安装我的新程序集,结果只显示:

Microsoft (R) .NET 全局程序集缓存实用程序。版本4.0.30319.1 Copyright (c) Microsoft Corporation。保留所有权利。

但是,在c:\windows\Assembly中并没有该程序集的任何痕迹。我认为我可能做错了什么,于是尝试运行gacutil /?以查看其他选项(以及在安装程序集时为什么没有输出),但它一直输出相同的信息:

Microsoft (R) .NET 全局程序集缓存实用程序。版本4.0.30319.1 Copyright (c) Microsoft Corporation。保留所有权利。

为了确保我没有失去理智,我还将之前使用的旧gacutil.exe复制回去,并运行了/?命令,它成功加载了帮助信息。但重新换上新版gacutil后再次尝试,仍然没有输出。

我在使用这个新的4.0 gacutil时遗漏了一些东西或是做错了什么吗?

注意:该程序集也不会出现在Windows\Microsoft.NET\Assemblies中。

1个回答

44
如果你将gacutil.exe从原始位置复制出来,那么1033/gacutlrc.dll文件也需要一起复制。一旦我将该文件复制到新位置,gacutil似乎就可以正常工作了。

5
我还需要复制gacutil.exe.config文件。否则,将没有任何输出,甚至没有版权信息。 - Markus Jarderot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接