如何获取反射组件的当前物理路径

时间:2016-07-06 11:06:28

标签: c# reflection

我有一个可执行文件,它使用反射加载另一个类库DLL。在该类库中,我想知道类库的物理路径是什么。我不想要执行程序集,因为这是原始的可执行文件。

例如exe可能在c:\ program \中,类库可能是c:\ libraries \ remote \ Assembly1.dll

在Assembly1.dll内部的方法中,我需要调用一些返回给我的东西

  

C:\库远程\ \

我试过了

  var currentLocation = Assembly.GetAssembly(GetType()).Location;

但这似乎不起作用。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

我用这种方式获取当前类的汇编路径:

var dllPath = new Uri(this.GetType().Assembly.GetName().CodeBase).LocalPath;

答案 1 :(得分:0)

这是我做的一种方式。 “assembly”是加载的dll

assembly.Location.Replace(assembly.GetName().Name + ".dll", "")