[問題] 在console底下讀取json檔案的方式

看板C_Sharp (C#)作者 (重出江湖)時間8年前 (2017/04/22 00:26), 8年前編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/1
請問各位 如果我的console專案裡面 要讀取同一個專案裡面的appsettings.json 請要問怎麼寫才能讀的到 網路上包含官方的寫法都是 Nuget安裝Microsoft.Extensions.Configuration.Json var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json"); Configuration = builder.Build(); 但我遇到的問題是Directory.GetCurrentDirectory()他的路徑 在執行的時候他的CurrentDirectory其實是在/bin/Debug這個資料夾中 但在編譯的時候appsettings.json並不會自動被包進來 所以最後就會找不到這個檔案出錯 網路上看到的幾乎都是web startup的解法 但是console本身並沒有環境變數這些東西injection進來 請問各位能否指點一下這個問題怎麼解呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.233.159.254 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1492792002.A.905.html

04/22 02:17, , 1F
Property裡面有個copy to output dir之類的選項
04/22 02:17, 1F

04/22 02:17, , 2F
選了之後該檔案就會在build時被複製到bin裡面了
04/22 02:17, 2F

04/22 02:20, , 3F
另外console application怎麼會沒有環境變數
04/22 02:20, 3F
謝謝解惑 最後找的結法是在*.csproj這個檔案裡面 加上 <ItemGroup> <Content Include="appsettings.json"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> </ItemGroup> 這樣編譯時就會幫你把該檔案一起放到編譯完的專案中 ※ 編輯: aoksc (118.233.159.254), 04/22/2017 18:46:45
文章代碼(AID): #1O-ZB2a5 (C_Sharp)
文章代碼(AID): #1O-ZB2a5 (C_Sharp)