En .Net core tenemos un problema usando la clase StreamReader para leer un archivo y es por que no podemos usar el constructor que usualmente recibe la ruta del archivo que deseamos leer
El WorkAround para este caso es utilizar la clase File con el metodo open File.OpenText
using (var myReader = File.OpenText("data/books.json")) { string str = myReader.ReadToEnd(); return JsonConvert.DeserializeObject<List<Book>>(str); }