我们在我们的项目中使用GAC,并且在开发过程中,在注册新的DLL之前,我们经常必须注销以前版本的DLL。虽然我们可以使用GACutil.exe来这样做,但我们也可以将DLL拖放到C:\Windows\assembly来注册它们,然后右击+卸载来取消注册它们(或者有时我们在命令提示符下使用"del“和DLL的名称)。
我的问题是:有任何迹象表明我们的做事方式是不利的吗?它是否等同于"GACUtil -i“和"GACUtil -u",或者它会导致问题?
谢谢,
发布于 2012-04-05 00:37:34
此功能由自定义外壳扩展shfusion.dll提供。它将GAC展平并使其看起来像一个文件夹。并在您操作资源管理器窗口时自动注销/注册程序集。所以你可以这么做。
请注意,这将不再适用于GAC4,它使用不同文件夹(c:\windows\microsoft.net\assembly)中的.NET,并且该文件夹没有相同类型的外壳扩展,您可以看到GAC文件夹的原始内容。别弄乱了那个。
一般来说,你不应该像那样在你的开发机器上使用GAC。首先,使用它的目的是允许程序集的多个版本共存,因此经常取消/注册是没有意义的。另一方面,在开发过程中不断更改AssemblyVersion也没有多大意义。强烈支持IDE支持的Copy Local功能。将其放入GAC在您的用户机器上可能很有用。我认为这也是微软不再支持shell扩展的原因。它被使用得太频繁了:)
https://stackoverflow.com/questions/10013047
复制相似问题