从项目内的JSON文件中读取

时间:2014-08-01 13:48:57

标签: c# visual-studio

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

using (StreamReader r = new StreamReader(@"/Resources/Settings.json"))

我得到以下例外:

  

{“无法找到路径'C:\ Resources \ Settings.json'的一部分。”}

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

4 个答案:

答案 0 :(得分:8)

using (StreamReader r = new StreamReader(Application.StartupPath + @"/Resources/Settings.json"))

答案 1 :(得分:5)

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

例如:

using (Stream stream = assembly.GetManifestResourceStream("MyCompany.Namespace.Settings.json"))
using (StreamReader reader = new StreamReader(stream))

答案 2 :(得分:3)

Directory.GetCurrentDirectory();

答案 3 :(得分:0)

对于 .Net Core 项目,将这些行添加到您的 .csproj 文件中:

<ItemGroup>
    <Content Include="Resources\**\*">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
  </ItemGroup>