gpt4 book ai didi

c# - 设置文件路径以引用解决方案或项目根目录下的文件

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:25 26 4
gpt4 key购买 nike

我希望有人能够启动我的解决方案,并在程序中运行它,并将这个 csv 放在项目的根目录中,例如,这样它就可以在我的方法中读取它csv 文件。

File.ReadLines(filePath).Select(a => a.Split(';'));

问题是,不确定如何得到这个,以便如果有人将我的解决方案复制到他们的 C 驱动器,这个文件路径应该是什么样子..我希望他们能够启动这个解决方案,运行控制台应用程序,然后因为这个文件已经和我的项目在同一个目录中,所以基本上只想通过常量硬编码文件名而不用担心这个文件在哪里..在他们出于测试目的复制它之后它总是会在这里。

那么我应该怎么做,将 .csv 包含在我的 .net 项目中,然后只生成常量“filename.csv”?我试过了,没用。

我以失败告终:

 File.ReadLines("someFile.csv").Select(a => a.Split(';'));

我已经将该文件包含在我的项目中...程序运行的主控制台项目。

这是我的解决方案结构

SomeTest (.NET solution and it's the root solution folder)
SomeTest (console project)
Constants.cs
SomeTest.BL
SomeTest.DL
filename.csv

我已将实际的 csv 移至我的 DL,因为我将其用作测试数据源。

因此,当他们将我的 SomeTest 解决方案文件夹复制到他们的 C 盘时,无论他们放在哪里,我都需要该常量来读取 C:\\root path to wherever they copied SomeTest folder to\\SomeTest.DL\\filename.csv 明白我的意思了吗?我需要在根路径之后对 SomeTest.DL 进行硬编码..但我无法获得根路径,在我的例子中是 C:\www 并获取该部分,然后我将附加例如\SomeTest.DL\filename.csv"字符串。

最佳答案

我认为最安全的选择是将 csv 文件添加到您的项目并将其 BuildAction 设置为 None 并将 Copy To Output Directory 设置为复制。

enter image description here

然后用户始终可以使用 File.ReadLines("MyDataCsv.csv") 进行访问,此外您还可以从 Visual Studio IDE 查看/编辑 csv,我认为其他程序员会需要。

关于c# - 设置文件路径以引用解决方案或项目根目录下的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14271263/

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