2017-01-27 5 views
-2

私はいくつかのプロジェクトで解決策を持っています。プロジェクトパスを取得

解決策1だから私は報告の一部のためのPro 3を使用してHTMLSをエクスポートするためhkHtmlToPDFを使用して

Pro1の(MVCプロジェクト)、 のPro2(クラスライブラリ)、および PRO3(クラスライブラリ)

を持っていますpdfとして。私の仕事をするためのhkHtmlToPdf.exeというexeがあります。 しかし、私はほとんど問題がありません。コードを実行するにはexeパスが必要です。私はPro3の物理パスを取得し、パスを取得するためにコードの下で使用したい。

var myPath = System.AppDomain.CurrentDomain.BaseDirectory; 

上記のコードは、Webプロジェクトのパスを返します。実際に私はPro3のパスが必要です。それを得る方法?

+0

質問にマイナス記号が付いているのはなぜですか?私はこれを1、2時間探しています。 – weeraa

答えて

1

あなたのexeファイルの名前を知っています。

string pattern = "hkHtmlToPdf.exe"; 
string dirPath = AppDomain.CurrentDomain.BaseDirectory; 
Directory.GetFiles(dirPath , pattern, SearchOption.AllDirectories); 

EDIT:
すべての作業だけで罰金!

static void Main(string[] args) 
{ 
    Console.WriteLine("This exe is runned from another exe."); 
    Console.ReadKey(); 
} 
static void Main(string[] args) 
{ 
    string pattern = "ConsoleApplication1.exe"; 
    string dirPath = AppDomain.CurrentDomain.BaseDirectory; 
    var files = Directory.GetFiles(dirPath, pattern, SearchOption.AllDirectories); 
    if (files.Length > 0) Process.Start(files[0]); 
    else Debug.WriteLine("File not found"); 
    Console.ReadKey(); 
} 

これを1つのフォルダに配置して、App2を実行します。 App1を見つけて実行します。 App1がサブフォルダにある場合でも!

+0

パスを文字列として取得する方法は?私はvarオブジェクトをDirectory.GetFiles(dirPath、pattern、SearchOption.AllDirectories)に割り当てます。 。それはうまくいかない。オブジェクト参照エラーが発生しました。 – weeraa

-1

検索の代わりに、web.configの設定パラメータとしてパスを追加することができます。

+0

これはできません。なぜなら、私はこのクラスライブラリを分離してから、それがVisual Studioソリューションを使用できるからです。 web.configにパスを追加すると、MVC Webプロジェクトとの依存関係があります。 – weeraa

関連する問題