2011-07-25 7 views
0

Visual Studioプロジェクトには、読み込むテキストファイルがあります。私のapp.configファイルは、これらのファイルのパスを自動的に適合させる必要があります。 D:\ドライブに入れたときに同じプロジェクトであるC:\ Visual Studio \ Test Project \ Read.txtという場所にファイルがあるとします.D:\ Test Project \ Readへのパスを変更しないでください。 txt自動的に場所の変更を適応させる必要があります。App.Configファイルで読み取るファイルのユニバーサルパスを設定する方法

答えて

0

あなたのapp.configファイルは自動的に適応できません。一般に、これは、すべての構成が適切に設定されていることを確認するために、インストールスクリプトまたはデプロイメントスクリプトのタスクです。

しかし、構成ファイルがの相対パスのパスを格納していることがわかっている場合、プログラムは動的に適応できます。

var path = Path.GetDirectoryName(Assembly.GetAssembly(typeof(MyClass)).CodeBase); 
path = Path.Combine(path, Configuration.AppSettings["fileToRead"]) 

var reader = new StreamReader(path); 
:代わりに

var reader = new StreamReader(Configuration.AppSettings["fileToRead"]); 

この操作を行うことで(現在実行中のアセンブリへのファイルの相対参照)

関連する問題