6

MSDN 声明gacutil.exe 不能安全地用于生产服务器。这样做有正当理由还是微软只是在练习一点 CYA?忽略此警告是否安全?还是我最终应该学习如何使用 Microsoft Windows Installer 2.0?

MSDN 的确切措辞:

Gacutil.exe 仅用于开发目的,不应用于将生产程序集安装到全局程序集缓存中。

4

2 回答 2

6

全局程序集缓存中的项目在程序之间共享。

当您使用 Gacutil 将程序集添加到缓存中时,将不会对依赖它的项目进行引用计数。因此,当您使用 GacUtil /U 从缓存中删除您的库时,您可能会破坏其他依赖它的程序。

相比之下,Windows Installer 2.0 会保留计数,并且只会在没有其他程序需要时从程序集缓存中删除库。

于 2012-01-27T19:15:49.063 回答
3

那是因为 gacutil.exe 在目标机器上不可用。它是 Windows SDK 的一部分,它的 .NET 4.0 版本位于 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools。因为您安装了 Visual Studio,所以您在计算机上拥有它。

您只需使用安装程序即可。在安装项目中,右键单击文件系统窗格,添加特殊文件夹并选择“全局程序集缓存文件夹”。并将DLL放在那里。

于 2012-01-27T19:15:23.700 回答