如何获取类库的当前目录?

问题描述 投票:26回答:1

我一直在寻找,但我还没有找到解决这个问题的方法:我想创建一个类库,它在名为Configuration的子目录下有一个配置文件。我希望将该类库部署到任何地方,我希望它通过了解自己的位置来查找其配置文件。

以前使用Assembly.GetExecutingAssembly().Location的尝试都不起作用。 它会返回临时位置,例如

C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\7c00e0a3\38789d63\assembly\dl3\9c0a23ff\18fb5feb_6ac3c901

而不是期望的

bin/Configuration路径。

所以:

  1. 类库可以知道它自己在磁盘上的位置吗?
  2. 我将如何编写此功能的测试脚本,因为它似乎根据您运行应用程序的方式而更改(在VS内部调试,在IIS上部署等)
c# asp.net path filepath configuration-files
1个回答
39
投票

这应该工作 -

string assemblyFile = (
    new System.Uri(Assembly.GetExecutingAssembly().CodeBase)
).AbsolutePath;
© www.soinside.com 2019 - 2024. All rights reserved.