我有一个名为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
中答案 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 );