13

我最近开始从头开始为 4.0 制作我的第一个 GAC 程序集,当我去安装它时,我得到了这个:Microsoft (R) .NET Global Assembly Cache Utility。版本 3.5.30729.1 版权所有 (c) Microsoft Corporation。版权所有。

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

所以我找到了 4.0 GacUtil (C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools) 的位置,并将 exe 及其配置覆盖到那里的版本。我再次在我的新程序集上运行 /i 并得到:Microsoft (R) .NET Global Assembly Cache Utility。版本 4.0.30319.1 版权所有 (c) Microsoft Corporation。版权所有。

但是在 c:\windows\Assembly 中没有装配的痕迹。我以为我做错了什么并试图运行 gacutil /? 查看我可以尝试的其他选项(并查看为什么在安装程序集时没有显示输出),但它只是一直输出相同的东西:Microsoft (R) .NET Global Assembly Cache Utility。版本 4.0.30319.1 版权所有 (c) Microsoft Corporation。版权所有。

为了确保我没有失去理智,我复制了我一直在使用的旧 gacutil.exe 并执行了 /? 它加载了命令的帮助信息。将新的 gacutil 放回去并再次尝试,仍然没有输出。

使用这个新的 4.0 gacutil 时我做错了什么或错过了什么?

注意:程序集也不显示在 Windows\Microsoft.NET\Assemblies 中。

4

1 回答 1

41

如果要将 gacutil.exe 从其原始位置复制出来,则需要将 1033/gacutlrc.dll 文件与它一起复制。一旦我将该文件复制到新位置,gacutil 似乎工作正常。

于 2012-04-17T20:37:41.857 回答