2

我有一个名为 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 中

4

2 回答 2

8

您可以使用:

Assembly.GetExecutingAssembly().Location

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

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

这将给出包含文件夹。

于 2012-11-02T18:22:57.307 回答
2

你可以试试这个:-

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

 string directory= Path.GetDirectoryName( path1 );
于 2012-11-02T18:19:44.013 回答