2

私のソリューションには2つのプロジェクトがあります。2番目のプロジェクトの最初のプロジェクトから画像ファイルへの相対パスを取得する必要があります。どうすればこれを行うことができますか?

このリソースからすでにコードを試しました:

ProjectAからProjectBを参照し、これを(ProjectAで)使用します。

@"/ProjectB;component/images/prod-2809854.jpg"

動作しません。

私はこれを(ProjectAで)使用できることを知っています:

 AppDomain.CurrentDomain.BaseDirectory

ProjectAのベースディレクトリを返します。文字列を解析し、ソリューションディレクトリを取得して、それに追加できると思いますProjectB/images/

それは正しい方法ですか?それはもっとうまくできるでしょうか?

ありがとう!

編集:例として、コンソールアプリでコードを実行します(同じソリューションに追加されているため、この段階ではWindowsサービスアプリをテストできません)。画像の相対パスを取得する必要があります:

// e.g. to check the GetMonitoringPath() method in main() in console app
Console.WriteLine(File.Exists(GetMonitoringPath())); 

public static string GetMonitoringPath()
    {
        return @"/WebStore;component/images/prod-2809854.jpg";
    }

File.Exists()はfalseを返しますが、ファイルは存在します、私は確信しています:)

4

2 に答える 2

0

コンソール アプリまたはサービスから Web プロジェクト内のファイルにアクセスする場合は、単純にして、Web プロジェクトへのパスを他のプロジェクトの app.config appSettings に格納します。

コンパイル時にファイルが存在する場合、埋め込みリソースを使用してプロジェクト間でファイルを共有できます。それ以外に、他のフォルダーを参照するには、ある種のパス (相対またはその他) を使用する必要があります。

于 2013-02-21T02:00:08.173 に答える
0

これは私のために働く

<img alt="" style="cursor:pointer" src="../../../Booking/images/plus.gif" />

src と入力すると、VS は yr URL を選択するように求めます。

これが機能しない場合は、正確に何をしているのかに関するコードを投稿してください。

于 2013-02-20T20:45:10.553 に答える