gpt4 book ai didi

C# 控制台应用程序 : reference file without . .\..\文件名

转载 作者:行者123 更新时间:2023-11-30 14:18:31 27 4
gpt4 key购买 nike

我需要从 C# 控制台应用程序中的文件中读取数据。
什么有效:new StreamReader(@"..\\..\myData.csv");

问题:..\\..\ 工作因为我的 exe 文件在 bin/Debug 目录中当我部署我的项目时,路径不再有效

问题:无论 exe 文件的位置如何,我如何引用 myData.csv?

我曾希望找到一种方法来返回我的控制台应用程序的“root”到目前为止,我尝试了以下操作:

Process.GetCurrentProcess().MainModule.FileName
Path.GetDirectoryName(Assembly.GetEntryAssembly().Location
Path.GetFullPath("bp.csv")
AppDomain.CurrentDomain.BaseDirectory
Directory.GetCurrentDirectory()

所有这些表达式都将我带到 exe 文件的目录而不是根目录。

我刚开始阅读有关独立存储的内容,但最好能有一些更简单的内容。有什么建议/建议吗?

最佳答案

最简单的选择可能是将 CSV 文件添加到解决方案中,然后在 VS 中右键单击它,并将构建操作设置为“如果更新则复制”,这会将它与 .exe 一起输出(到调试或发布文件夹)当你建立。

在代码中,您可以像这样获取执行程序集的当前位置:

string folder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

然后您可以将路径与 CSV 文件名结合起来:

string filePath = Path.Combine(folder, "myData.csv");

关于C# 控制台应用程序 : reference file without . .\..\文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4357418/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com