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 に答える