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

时间:2011-08-03 10:26:37

标签: .net-4.0 gacutil

我在.net框架中制作了一个程序集,我打算将其发布到GAC但我找不到gacutil的权限。

我一直在谷歌上搜索,我发现了很多建议,但没有任何作用:

  • 将程序集复制到%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]

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

4 个答案:

答案 0 :(得分:73)

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

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

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

答案 1 :(得分:36)

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

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

答案 2 :(得分:23)

.net 4.0标准安装中不包含Gacutil。他们也移动了GAC,从%Windir%\ assembly到%Windir%\ Microsoft.NET \ Assembly。

他们甚至没有为Windows资源管理器中的文件夹添加“特殊视图”,因为它们具有.net 1.0 / 2.0 GAC。

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

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

此处有关于新GAC的讨论:.NET 4.0 has a new GAC, why?

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

总的来说,根据几年的经验,我个人强烈建议反对使用GAC。如果您将DLL与每个应用程序一起部署在其bin文件夹中,那么您的应用程序将始终有效。是的,如果您有例如DLL,您将在服务器上获得DLL的多个副本。一台服务器上有多个Web应用程序,但绝对值得灵活地升级一个应用程序而不会破坏其他应用程序(通过在GAC中引入不兼容的共享DLL版本)。

答案 3 :(得分:5)

实际上现在有一个用于.NET 4.0的GAC实用程序。它可以在Microsoft Windows 7和.NET 4.0 SDK中找到(SDK支持多个操作系统 - 而不仅仅是Windows 7 - 因此,如果您使用的是Microsoft的后续操作系统,则支持它的可能性很大。)

这是SDK。您可以下载ISO或进行Web安装。如果您想要的只是GAC Util,那就下载整个东西了。但它确实有效。