誰かが私のソリューションを起動できるようにして、プログラムでそれを実行して、たとえば、この csv をプロジェクトのルートに配置して、この csv ファイルを読み取るメソッドでそれを取得できるようにしたいと考えています。
File.ReadLines(filePath).Select(a => a.Split(';'));
問題は、誰かが私のソリューションを C ドライブにコピーした場合、このファイルパスがどのように見えるかを確認する方法がわからないことです..このソリューションを起動し、コンソール アプリを実行し、このファイルからすでに私のプロジェクトと同じディレクトリにあります。基本的に定数を介してファイル名をハードコードしたいだけで、OKについて心配する必要はありません。このファイルはどこにありますか..テスト目的でコピーした後は常にここにあります。
では、.net プロジェクトに .csv を含めてから、定数「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" という文字列をそれに追加します。