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

Kis*_*mar 2 .net c# wpf dll

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

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

JIMS.exe
--------->Reporting
------------------->JIMS.Printing.dll
------------------->Templates
-----------------------------> Files
Run Code Online (Sandbox Code Playgroud)

码:

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

来自JIMS.Printing.dll的代码

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

cat*_*ier 7

您可以使用:

Assembly.GetExecutingAssembly().Location
Run Code Online (Sandbox Code Playgroud)

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

System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
Run Code Online (Sandbox Code Playgroud)

这将给出包含文件夹.