2016-08-12 18 views
-5

ここで私はlib/user.jsonC#ディレクトリが見つかりませんでした例外

String jsonSTR = File.ReadAllText("lib/user.json"); 

としてプロジェクトにlibというフォルダ内に格納さJSONファイルを読み込むしようとしていますVS 2015コミュニティとC#を使用したが、私はディレクトリは例外

が見つかりません取得しています

enter image description here

あなたはなぜこれが起こっている私に知らせてくださいことはできますか?おかげ

+1

public static string PredictAbsoluteFilePath(string fileName) { return Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), fileName); } 

あなたはこのようにそれを使用することができます。少なくともプログラムが期待するところではない。あなたがそれを確認しましたか?あなたがプログラムを見つけることを期待しているファイルへの絶対パスは何ですか? – itsme86

+0

パスが正しいかどうかチェックしていることは当然です。 – Steve

+1

'/ lib/user.json'ファイルを' bin/Debug'フォルダの子として(あるいは 'bin/Release'、またはアプリケーションが起動されるフォルダに)置いたことを確認しましたか?アプリケーションはプロジェクトのフォルダではなく、それを検索します。 –

答えて

3

あなたは相対パスに入るためにリフレクションを使用する必要があります。私は、ファイルが存在しないからだと推測している

string path = Utils.PredictAbsoluteFilePath("relativeFile.xml"); 
//assuming that currect executing file is in D:\Programs\MyApp directory 
//path is now 'D:\Programs\MyApp\relativeFile.xml' 
+5

それはいい考えですが、私は 'Path.Combine()'を主張したいと思います:return Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly()。Location)、filename); ' – itsme86

関連する問題