[.NET/C#].NET/C#应用程序开发的单元测试中如何获取当前程序集所在的目录路径?

C#开发 作者: Rector 75 次阅读 · 读完约需 1 分钟 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

问题描述

在.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;

阅读了该文章的人还浏览了...

本文永久链接码友网 » [.NET/C#].NET/C#应用程序开发的单元测试中如何获取当前程序集所在的目录路径?

发布于: 2018-11-22 13:41:21
分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册