我有一個 json 檔案,我試圖通過StreamReader. json 與我的代碼位于同一目錄中。但是,任何加載檔案的方法(GetFullPath(),GetDirectoryName()等)總是在\bin\Debug\netcoreapp3.1目錄中查找,顯然不是。我已經嘗試了所有不同的版本
我認為這更多地與 netcoreapp 的問題有關。如何讓它僅將檔案加載到同一目錄中?
uj5u.com熱心網友回復:
選項 1:根本不包含路徑。這將使用當前目錄,默認情況下是可執行檔案的目錄。為了完整起見,我提到了這一點,但它可能不起作用,因為您的可執行檔案與您的代碼不在同一個檔案夾中!
選項 2:在 Visual Studio 的解決方案資源管理器中查找檔案。該檔案的屬性將包括一個選項,Copy to Output Directory該選項當前可能設定為Do not copy. 你希望這是Copy alwaysor Copy if newer。然后,當您構建專案時,它會將檔案與您的程式放在Debug或Release檔案夾中。
uj5u.com熱心網友回復:
構建專案時,已編譯的代碼將復制到\bin\Debug\netcoreapp3.1目錄中。該應用程式比從那里運行。因此,您所指的“問題”實際上是預期的行為。
您可以:
- 手動將檔案復制到構建檔案夾
- 使用變數來參考正確的檔案夾位置(這樣您可以根據需要輕松更改它,甚至可以放入設定檔案中)
- 將您的專案配置為自動將 json 檔案復制到構建檔案夾看到這個問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/530063.html
