看板 C_Sharp 關於我們 聯絡資訊
請問各位 如果我的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
IKAFIRE: Property裡面有個copy to output dir之類的選項 04/22 02:17
IKAFIRE: 選了之後該檔案就會在build時被複製到bin裡面了 04/22 02:17
IKAFIRE: 另外console application怎麼會沒有環境變數 04/22 02:20
謝謝解惑 最後找的結法是在*.csproj這個檔案裡面 加上 <ItemGroup> <Content Include="appsettings.json"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> </ItemGroup> 這樣編譯時就會幫你把該檔案一起放到編譯完的專案中 ※ 編輯: aoksc (118.233.159.254), 04/22/2017 18:46:45