在.Net中获取实际的dll路径

时间:2012-11-02 18:16:24

标签: c# .net wpf dll

我有一个名为JIMS.Printing.dll的DLL,它放在主应用程序JIMS.exe的Reporting文件夹中。

但是在调用运行JIMS.exe的Reporting中的JIMS.Printing.dll代码里面的Templates文件夹中调用一些文件时出现错误

JIMS.exe
--------->Reporting
------------------->JIMS.Printing.dll
------------------->Templates
-----------------------------> Files

代码:

string _templatePath = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetAssembly(typeof(JIMS.Printing.PrintInvoice)).Location), "Templates");

来自JIMS.Printing.dll的代码

JIMS.exe在JIMS.exe Path \ Templates \ file中查找文件, 但实际上该文件位于JIMS.Printing.dll Path \ Templates \ files

2 个答案:

答案 0 :(得分:7)

您可以使用:

Assembly.GetExecutingAssembly().Location

将为您提供执行程序集的路径,然后使用:

System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)

将给出包含文件夹。

答案 1 :(得分:2)

你可以试试这个: -

 string path1= System.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location;

 string directory= Path.GetDirectoryName( path1 );