博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取DLL文件的执行路径
阅读量:5306 次
发布时间:2019-06-14

本文共 712 字,大约阅读时间需要 2 分钟。

在写类库项目时,经常会有某些特殊业务需要用到服务器端的物理路径,使用传统的System.IO.Directory.GetCurrentDirectory()方法返回的则是WINNT\System32目录,这个一般不能满足正常的业务需求,而要得到具体运行DLL所在的物理目录可以通过Assembly.GetExecutingAssembly().CodeBase属性来取得,具体参考方法如下:
ExpandedBlockStart.gif
ContractedBlock.gif
        
/**/
/// <summary>
InBlock.gif        
/// 获取Assembly的运行路径
InBlock.gif        
/// </summary>
ExpandedBlockEnd.gif        
/// <returns></returns>
None.gif
        
private
 
string
 GetAssemblyPath()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif
{
InBlock.gif            
string _CodeBase = System.Reflection.Assembly.GetExecutingAssembly().CodeBase ;
InBlock.gif
InBlock.gif            _CodeBase 
= _CodeBase.Substring(8,_CodeBase.Length - 8);    // 8是 file:// 的长度
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif            
string[] arrSection = _CodeBase.Split(new char[]dot.gif{
'/'}
);
InBlock.gif            
InBlock.gif            
string _FolderPath = "";
InBlock.gif            
for(int i=0;i<arrSection.Length-1;i++
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                _FolderPath 
+= arrSection[i] + "/";
ExpandedSubBlockEnd.gif            }
InBlock.gif
InBlock.gif            
return _FolderPath;
ExpandedBlockEnd.gif        }

转载于:https://www.cnblogs.com/minbear/archive/2004/08/18/34600.html

你可能感兴趣的文章
WebForm 发送邮箱
查看>>
鼠标悬停提示文本消息最简单的做法
查看>>
# C++中对PI的引用
查看>>
Java面向对象重要关键字
查看>>
美女CEO三十感言--大家都是出来卖的
查看>>
C、JAVA存储管理不同点
查看>>
课后作业-阅读任务-阅读提问-2
查看>>
rtmp服务器以及rtmp推流/拉流/转发
查看>>
面向对象设计中private,public,protected的访问控制原则及静态代码块的初始化顺序...
查看>>
挑战常规--不要这样使用异常
查看>>
malloc函数的用法
查看>>
渐变的参数
查看>>
C#委托详解(3):委托的实现方式大全(续)
查看>>
RaceWeb终于可以在oracle中快速建表了
查看>>
cookie,sessionStorage,localStorage
查看>>
RF环境搭建
查看>>
软件--需求管理
查看>>
读《我是一只IT小小鸟》有感
查看>>
linux中系统管理指令
查看>>
JS常用各种正则表达式
查看>>