我把带签名的dll放进了GAC。我将此dll从其他应用程序可以访问的文件夹中删除。我尝试运行客户端应用程序,它使用了该dll。Dll会立即放回到原始文件夹中。它是如何发生的?
我猜GAC正在监控文件夹,当它检测到dll丢失时,它会将最新版本放回其他应用程序可以到达的文件夹中。如果我是对的,请告诉我如果要重建dll,GAC是否会自动再次备份它。
发布于 2009-02-18 21:32:37
GAC不知道程序集的源代码。最有可能的解释是,您只是让IDE重新构建了DLL。
发布于 2009-02-18 21:37:00
我不知道为什么会这样,但这些信息可能会对你有所帮助,
您不需要从复制到GAC的位置删除文件。如果应用程序依赖于程序集,则GAC是主要的查找位置。
发布于 2009-02-18 22:05:51
此外,如果您将使用不同的版本并使用重定向,请确保在引用的属性中将“特定版本”标记为太假。
回答你的问题:不,GAC不会监视任何其他文件夹来查找对dll所做的更新。您必须使用gacutil安装每个版本的dll。
https://stackoverflow.com/questions/562909
复制相似问题