技术开发 频道

在非托管事件接受里处理来自于.NET 组件的事件


    如果你使用专用程序集(此专用程序集没有一个强名称与它相连接)上的同一命令,这就是你所得到的。

sn -Tp WeatherNotify.dll 

WeatherNotify.dll does not represent a strongly named assembly
    现在已经准备了在全局程序集缓存(全局程序集缓存 )中安装Temperature.dll,因此,当应用程序试图下载或者使用这个程序集时,程序集分解器可以在全局程序集缓存中定位这个程序集。你可以使用下面的命令,列出全局程序集缓存中所有程序集。
全局程序集缓存 util -l
    或者,你可以使用shfusion.dll里的Windows shell extension,shfusion.dll允许你在全局程序集缓存中浏览,添加或者删除程序集。如果你浏览到你的Windows Directory下面的Assembly文件,这个扩展名为你提供一个程序集(此程序集被安装在全局程序集缓存 中)以及一些属性,例如:名称, 类型, 版本, 文化和私钥标志。为了安装Temperature.dll程序集,只要输入命令行中的以下命令,而且此命令应该被安装在全局程序集缓存中。
全局程序集缓存 util -i Temperature.dll
    如果一切顺利,你可以得到这样一个信息。

Assembly successfully added to the cache
    你可以把强名称程序集拖到由shell extension 提供的view中,而且它应该为你安装它自己。一旦程序集被安装在了全局程序集缓存中,你就没必要把程序集放到应用程序文件夹中,也不会和配置文件相混淆告诉分解器 到哪里找到程序集。现在,程序集分解器 在全局程序集缓存中定位程序集。



    安装全局程序集缓存中的程序集有许多优点,例如:不同译本数目的程序集的并行执行,程序集的单实例(也被称为代码页共享),当被多个应用程序使用,下载次数被减少时,程序集的单实例(也被称为代码页共享)允许执行时下载更少的程序集备份,推动程序集中基于快速修复工程(QFE)的热部署。
0
相关文章