在C#中确定资源文件的路径

3

我在Visual Studio 2010解决方案中有一个CSV文件,想知道如何确定该CSV文件的绝对路径。我需要它是动态的,因为路径会根据用户文件系统上项目文件的位置而改变。

感谢您的帮助。

4个回答

4
如果CSV文件在你的应用程序的工作目录中,你可以使用Path.GetFullPath方法获取绝对路径: Path.GetFullPath 方法
var result = Path.GetFullPath("file.csv");
// result == @"C:\Users\...Studio 2010\Projects\MyProject\bin\Debug\file.csv";

2

路径可以是绝对路径或相对于某个位置的路径(通常是可执行文件的位置)。如果您的项目中有一个CSV文件,您可以在其属性中设置自动复制到输出文件夹(Copy to Output Directory: Copy always),并在应用程序中使用相对路径:

using (var csv = File.OpenRead("test.csv"))
{
    ...
}

1

0

您可以使用

string exedir = Path.GetDirectory(Assembly.GetExecutingAssembly().Location)

获取主要exe目录。
然后您可以添加任何喜欢的内容。例如:

csv_path = Path.Combine(exedir, "my_csv_file.csv")

或者

csv_path = Path.Combine(exedir, @"subdir1\subdir2\my_csv_file.csv")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接