首页 > 后端开发 > C++ > 如何在C#中获取当前的组件的路径?

如何在C#中获取当前的组件的路径?

Mary-Kate Olsen
发布: 2025-01-31 22:56:11
原创
692 人浏览过

How Can I Get the Current Assembly's Path in C#?

如何获取C#当前程序集的路径?

在许多情况下,确定包含正在执行代码的程序集的路径是必要的。这在使用需要访问相对于DLL的资源的单元测试时尤其重要。

解决方案:

要检索当前程序集的路径,可以使用两种替代方法:

1. 使用Assembly.Location

<code class="language-csharp">string path = System.Reflection.Assembly.GetExecutingAssembly().Location;</code>
登录后复制

此方法返回程序集的完整路径,包括文件名。但是,在某些情况下,它可能会提供意外的结果,尤其是在使用NUnit等测试框架时。

2. 使用Assembly.CodeBase

<code class="language-csharp">string codeBase = System.Reflection.Assembly.GetExecutingAssembly().CodeBase;</code>
登录后复制

CodeBase属性包含程序集的URI格式路径。要将其转换为常规的Windows路径,请执行以下步骤:

<code class="language-csharp">UriBuilder uri = new UriBuilder(codeBase);
string path = Uri.UnescapeDataString(uri.Path);</code>
登录后复制

附加说明:

  • 值得注意的是,Assembly.CodeBase属性在.NET Core/.NET 5 中已弃用。
  • 从MbUnit GUI运行测试时,Environment.CurrentDirectory属性可能无法准确反映程序集的路径。

以上是如何在C#中获取当前的组件的路径?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板