问题描述
在.NET/C#的应用程序开发的单元测试中,如何获取当前程序集所在的目录路径?当前的dll文件位于:
C:\projects\myapplication\daotests\bin\Debug\daotests.dll
需要使用C#代码获取到的路径地址为:
C:\projects\myapplication\daotests\bin\Debug\
方案一
使用GetExecutingAssembly().CodeBase
,如下:
public static string AssemblyDirectory
{
get
{
string codeBase = Assembly.GetExecutingAssembly().CodeBase;
UriBuilder uri = new UriBuilder(codeBase);
string path = Uri.UnescapeDataString(uri.Path);
return Path.GetDirectoryName(path);
}
}
方案二
// 获取程序集所在目录的完整路径,包含文件名和扩展名
string fullPath = System.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location;
// 获取目录路径
string theDirectory = Path.GetDirectoryName( fullPath );
方案三
使用CurrentDomain.BaseDirectory
,如下:
var dir = AppDomain.CurrentDomain.BaseDirectory;
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册