GACUTIL在Windows 7中的.NET Framework 4.0在哪里?

我在.net框架中创build了一个程序集,我打算发布到GAC,但是我找不到gacutil实用程序。

我一直在googlesearch,我发现了很多的build议,但没有任何工作:

  • 将组件复制到%window%\ assemby [DOES NOT WORK]
  • 将组件复制到%window%\ Microsoft.NET \ assembly [DOES NOT WORK]
  • C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bin \ gacutil.exe / i“程序集” [returns an error: this assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded]

有没有人有想法解决这个问题?

如果你已经安装了VS2010 ,你应该find一个.NET 4.0 gacutil at

 C:\ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0工具

7.0A Windows SDK应该与VS2010 - 6.0A一起安装VS2010 - 6.0A已经与VS2008一起安装,因此不会有.NET 4.0的支持。

VS 2012/13 Win 7 64位gacutil.exe现在位于

 C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0工具

.net 4.0标准安装中没有包含Gacutil。 他们也将GAC从%Windir%\ assembly迁移到%Windir%\ Microsoft.NET \ Assembly。

他们甚至不屑于为Windows资源pipe理器中的文件夹添加“特殊视图”,就像.NET 1.0 / 2.0 GAC一样。

Gacutil是Windows SDK的一部分,所以如果你想在你的开发机器上使用它,只需安装当前平台的Windows SDK。 然后你会发现它在这样的地方(取决于你的SDK版本):

 C:\ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0工具

这里有一个关于新的GAC的讨论: .NET 4.0有一个新的GAC,为什么?

如果您想在生产计算机上安装GAC中的某些东西,您需要以“正确的方式”(gacutil从来没有将其作为在生产服务器上安装东西的工具,只是作为一种开发工具),使用Windows Installer,或与其他工具。 你可以例如使用PowerShell和System.EnterpriseServices的DLL。

总的来说,从几年的经验来看,我个人强烈build议不要使用GAC。 如果您也将每个应用程序都部署在其bin文件夹中,那么您的应用程序将始终工作。 是的,如果您在一台服务器上有多个Web应用程序,则您将在服务器上获得多个DLL副本,但绝对值得能够升级一个应用程序而不破坏其他应用程序的灵活性(通过引入不兼容的共享版本在GAC中的DLL)。

实际上现在有一个.NET 4.0的GAC实用工具。 它可以在Microsoft Windows 7和.NET 4.0 SDK中find(该SDK支持多种操作系统 – 不仅仅是Windows 7 – 所以如果您使用的是Microsoft以后的操作系统,则支持它的可能性很大)。

这是SDK 。 您可以下载ISO或进行Web安装。 如果您想要的只是GAC Util,那么可以下载整个软件。 但是,它确实工作。