2

我希望有人能够启动我的解决方案,并在程序中运行它并将这个 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" 字符串。

4

1 回答 1

3

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

在此处输入图像描述

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

于 2013-01-11T04:11:34.997 回答