2016-04-05 8 views
1

.resxファイルを管理する "res/resx /"というフォルダがあります。私が望むのは、それらのすべての.resxファイルを取得することです。asp.net 404 - ウェブサイトにファイルやディレクトリが見つかりませんでしたが、ローカルでも可能です

これは私のコードです。

var Path = Server.MapPath("~/"); 
var SampleUrl = System.IO.Path.GetFullPath(System.IO.Path.Combine(Path, "Res/resx/")); 
string[] files= System.IO.Directory.GetFiles(SampleUrl); 
var AllFiles = new System.Collections.ObjectModel.ReadOnlyCollection<string>(files); 
      foreach (string sFileName in AllFiles) 
      { 
       Response.write(sFileName + " <br>"); 
      } 

このコードは自分のローカルで動作していて、私のresxファイルのリストを見ることができました。私は私のウェブサイトにこれを導入し、それをアクセスするときしかし、エラーが言うのコードの2行目に発生します。

はパスの一部が見つかりませんでした 「D:\ Webサイト\ mywebsite.com \ Res \ resx '

私のファイルが存在するかどうかをディレクトリ閲覧で確認することができました。私のローカルでは、私はファイルを閲覧することができますが、ウェブサイト上では、私はできません。システムがフォルダ "Res/Resx"も見つけられないようです。それは言う:

404 - ファイルまたはディレクトリが見つかりません。 を探しているリソースが削除されたか、名前が変更されたか、一時的に が利用できませんでした。

ただし、フォルダーが存在し、自分のローカルで実行されています。私が何をすべきか、私が逃した何かについてのアドバイスはありますか?おかげ

+0

フォルダが実際にあなたのウェブサーバに存在していますか?それはサイトの他の部分と一緒に展開されましたか? – Stephen

+0

はい、フォルダが存在します。また、.resxファイルをシステムが検出できるフォルダに転送しようとしました。と 'ファイル'変数は私に今何かエラーを与えていません。しかしながら。 foreachループが実行されないように.resxファイルを見つけることができません。システムが.resxファイルを読むことができないような設定がありますか? –

答えて

0

はSystem.IO.Directoryクラスでこの

string[] filePaths = Directory.GetFiles(Server.MapPath("Your folder")); 
+0

はまだ動作しません。私は問題が.resxファイルであると思う。それが見えないシステムはそれを読むことができません。 –

0

ルックと静的メソッドGetFilesをお試しください。パスと検索パターンを受け入れるオーバーロードがあります。例: アンソニーPegram hereによって答え

string[] files = System.IO.Directory.GetFiles(path, "*.resx"); 

+0

私のローカルPCで動作していますが、私のウェブサイトに展開してもエラーが出ます。エラーは、.resxファイルが見つからないと思います。 –

+0

あなたのウェブサイトにあるフォルダのアクセス許可をチェックし、フォルダが正しく配置されていることを確認してください。 –

+0

私は実際にフォルダのアクセス許可をチェックする方法を知らないが、ウェブサイトのシステムが読むことができるフォルダに.resxファイルを転送しようとしました。そして、directory.getfiles()関数が動作しています。しかし、それは.resxファイルを検出しないので、AllFiles変数は空ですのでforeachループは実行されません。システムが.resxをデフォルトで読み込むことを許可していない可能性がありますか? –

関連する問題