首页 / C#开发 / 正文

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

2008 发布于: 2018-11-22 读完约需3分钟

问题描述

在.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#应用程序开发中如何从一个字符串中找出字符出现的次数,哪种方式更高效?

下一篇: [.NET/C#].NET/C#Winform应用程序开发中如何限制文本框只允许输入数字?

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

分享扩散:

发表评论

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