UP TO YOU 随心 • 索遇

Tasting The Skills 品味技巧,品味人生

导航

Assembly.CodeBase及Assembly.Location在Office编程的的区别

Posted on 2005-04-01 21:57  Keith P.R.C  阅读(383)  评论(0)    收藏  举报

一直没时间去琢磨CodeBase及Location属性的区别在哪里。最近参与Office的VSTO编程,终于有时间研究了一小下。


Assembly.CodeBase返回的是file:///形式的字符串,指向的是Assebmly的加载地址。为Assembly的存放地。
Assembly.Location 返回的是Driver:\形式的字符串,指向的是Assembly执行的地址。此为Assembly在缓存里的地址。


由于Office加载的后置代码会被先临时缓存到本地的Cache中来执行,因此通过Location的属性我们可以找到该Assebmly到底被临时缓存到哪里了。

如果程序中要获得当前的运行路径,则不能使用Location属性,也不能使用GetCurrentDirectory方法,而应该使用CodeBase。