Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何为App.Config文件中要读取的文件设置通用路径_C#_Visual Studio 2008_Path_App Config - Fatal编程技术网

C# 如何为App.Config文件中要读取的文件设置通用路径

C# 如何为App.Config文件中要读取的文件设置通用路径,c#,visual-studio-2008,path,app-config,C#,Visual Studio 2008,Path,App Config,我有一些文本文件要读取,它们位于VisualStudio项目中。我的app.config文件应自动调整这些文件的路径。i、 例如,假设我在位置C:\Visual Studio\Test Project\Read.txt中有一个文件,当我放入D:\drive时,我不应该将路径更改为D:\Test Project\Read.txt,它应该自动适应位置的更改。您的app.config文件无法自动适应。通常,这是安装或部署脚本的任务,以确保正确设置所有配置 但是,如果您的程序知道您的配置文件正在存储相对

我有一些文本文件要读取,它们位于VisualStudio项目中。我的app.config文件应自动调整这些文件的路径。i、 例如,假设我在位置C:\Visual Studio\Test Project\Read.txt中有一个文件,当我放入D:\drive时,我不应该将路径更改为D:\Test Project\Read.txt,它应该自动适应位置的更改。

您的app.config文件无法自动适应。通常,这是安装或部署脚本的任务,以确保正确设置所有配置

但是,如果您的程序知道您的配置文件正在存储相对路径,那么它可以动态地进行调整。而不是做

var reader = new StreamReader(Configuration.AppSettings["fileToRead"]);
执行此操作(相对于当前执行的程序集引用文件):

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

var reader = new StreamReader(path);