- 热门文章:
- · HOW TO:初始化共享变量
- · 怎么触发DataGrid模板列中控件的事件?
- · 刚学ASP.Net,学了个简单的计算器
- · 全选DataGrid里的复选框
- · WEB页面多语言支持解决方案
- · javascript 与 asp.net 的交互
- · 动态模板列更新数据分页的例子
- · DataList 控件分页操作
- · 如何用请求字符串传值给用模式窗口打开的aspx页面。
- · Duwamish7学习笔记1
- · Matt Powell的《Server-Side 异步Web Methhods》
- · DataGrid和DropDownList的一些配合以及使用css定制DataGrid
上一篇:HOW TO:检索本机硬件信息 >>
HOW TO:检索应用程序当前执行代码的引用信息
Shared Sub GetReferenceInfomations()
Dim a As System.Reflection.[Assembly] = System.Reflection.Assembly.GetExecutingAssembly
For Each r As System.Reflection.AssemblyName In a.GetReferencedAssemblies
Dim ra As System.Reflection.[Assembly] = System.Reflection.Assembly.Load(r.FullName)
Console.WriteLine("引用Name:{0},引用Dll:{1}", r.Name, ra.Location)
Next
End Sub
NET应用程序对系统提供的程序集的引用采用缓存机制,我不懂这个机制,只能是看一看读一读。
上面代码在我本机运行的结果是这样的(我的系统安装在i盘,Windows2003Server):
引用Name:Microsoft.VisualBasic,引用Dll:i:\windows\assembly\gac\microsoft.visualbasic\7.0.5000.0__b03f5f7f11d50a3a\microsoft.visualbasic.dll
引用Name:TraceLog,引用Dll:i:\程序设计\test olutionlog\testruntimetypehandle\bin\tracelog.dll
引用Name:System,引用Dll:i:\windows\assembly\gac ystem\1.0.5000.0__b77a5c561934e089 ystem.dll
引用Name:System.Data,引用Dll:i:\windows\assembly\gac ystem.data\1.0.5000.0__b77a5c561934e089 ystem.data.dll
引用Name:System.Xml,引用Dll:i:\windows\assembly\gac ystem.xml\1.0.5000.0__b77a5c561934e089 ystem.xml.dll
注意到没有,它并不是引用I:\WINDOWS\Microsoft.NET\Framework\v1.1.4322里的DLL。对于用户的,它倒是到用户DLL所在地址去找。通过NET提供的某个命令(我忘了),可以将用户的DLL放到i:\windows\assembly\下,程序运行时自动到这个目录下去引用。
你还可以发现,一般情形下,你用资源管理器是找不到i:\windows\assembly\gac或以下的子文件夹的(我原来估计是Folder.Htt文件里头的配置,哈,Windows2003已经取消这个文件了),不知非Windows2003的系统能不能看到。但这个文件是确实存在的,你将i:\windows\assembly\gac ystem.xml\1.0.5000.0__b77a5c561934e089 ystem.xml.dll
复制粘贴到地址栏上然后回车,就可以“下载”这个文件的了。或者你运行cmd.exe进入dos,可以dir出这些文件夹和文件的了。
文件夹gac有特别的含义,它表示system.xml.dll的缓存类型为“Gac”,这个信息你可以通过“Microsoft .NET Framework 1.1 配置”查到。
i:\windows\assembly\gac ystem.xml\1.0.5000.0__b77a5c561934e089 ystem.xml.dll的意义为:
gac ,缓存类型
system.xml,程序集名称
1.0.5000.0,版本号
b77a5c561934e089,公钥标记
以后有必要再深入一下。如果各位有补充或修改补充的话那再好不过的了。
下一篇:HOW TO:初始化共享变量 >>
相关文章:
- · 轻松解决asp.net论坛中的一版块多斑竹和一用户担任多版块斑竹的问题(不用数组和split)
- · 分享:aspx页面javascript的几个trick
- · 2个页面间不通过Session与url的传值方式
- · Solidworks二次开发—09--添加配合参考
- · Solidworks二次开发—08--判断是什么特征
- · 创建动态数据输入用户界面
- · 可以代替窗体Refresh方法的函数
- · 无外部控件制作多媒体播放器(四)
- · 无外部控件制作多媒体播放器(三)
- · DirectX9 3D快速上手 3
- · AlertButton, 您确定要执行吗?
- · 无外部控件制作多媒体播放器(二)
- · 用TreeView显示数据通用方法
- · 无外部控件制作多媒体播放器(一)
- · Web Browser Express 概述
- · datagrid编辑删除分页
- · 展现C# 清单5.10 生成exe文件执行的问题
- · 联通增值业务“定位之星”L1协议服务端的模拟器
- · 一个自认为写得还可以的存储过程,就是没有注释,看起来有点乱。与ERP的BOM相关的
- · [EnterpriseServices]利用assembly定义我们的组件在COM+中的注册方式
- · 给windows服务添加描述
- · 用户认证管理设计方案
- · Solidworks二次开发—07—控制草图对象
- · 数据库事务处理的另外一种方法
- · 《Essential .Net》读书笔记 - Chapter 3
- · DX图形显示基本流程(基于MESH静态模型绘制----托管代码)
- · 如何让 DevExpress 的 DateEdit 控件正确显示日期的周名
- · ASP.net下的前台日历控件源代码(不刷新页面)
- · 通过可视化继承和页面模板控制站点设计
- · 在ASP.Net中两种利用CSS实现多界面的方法
- · 数据表单向导的快速实现
- · Posting form data from ASP.NET page to another URL
- · Asp.net中Treeview终极解决方案
- · 解决ASP.NET创建的线程的用户改变引发的拒绝访问错误
- · 有关sql注入
- · 一个动态编译的例子
- · 一个拷贝整个文件夹(包括子文件夹)的方法(原创)
- · 在ASP.NET中实现弹出日历
