从项目内的JSON文件中读取

jas*_*son 10 c# visual-studio

我的WPF项目中有一个名为Resources的目录,我在该目录中有一个Settings.json.我想阅读该文件中的内容.在文件设置中,我有构建操作 - >嵌入式资源复制到输出目录 - >始终复制 我读取这样的文件:

using (StreamReader r = new StreamReader(@"/Resources/Settings.json"))
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

{"找不到路径'C:\ Resources\Settings.json'的一部分."}

如何让它读取该目录中的文件?谢谢

Sef*_*efa 9

using (StreamReader r = new StreamReader(Application.StartupPath + @"/Resources/Settings.json"))
Run Code Online (Sandbox Code Playgroud)

  • WPF应用程序的System.AppDomain.CurrentDomain.BaseDirectory. (3认同)
  • 它在ASP.NET应用程序中会如何? (3认同)

小智 6

由于您已将Build Action设置为Embedded Resource,因此您可能希望使用Assembly.GetManifestResourceStream方法.

例如:

using (Stream stream = assembly.GetManifestResourceStream("MyCompany.Namespace.Settings.json"))
using (StreamReader reader = new StreamReader(stream))
Run Code Online (Sandbox Code Playgroud)