【问题标题】:Console Application: System.IO.FileNotFoundException: Could not find file控制台应用程序:System.IO.FileNotFoundException:找不到文件
【发布时间】:2020-12-16 22:35:14
【问题描述】:

我有一个 .NET 控制台应用程序 (.NETFramework v.4.8),它可以读取项目根目录中的 CSV 文件。

File.ReadAllLines("fuel.csv");

当我运行我的程序时,我收到以下错误:

System.IO.FileNotFoundException: Could not find file 
"/Users/ryan.payne/Sites/linq-fundamentals/LinqFundamentals/Cars/bin/Debug/fuel.csv"

如何让我的控制台应用程序读取文件?

【问题讨论】:

  • 好的,但是您是否在第一个链接中关注了嵌入后他们如何设法读取该文件?
  • @Steve 我意识到这些说明是针对 Xamarin 应用程序的,而不是针对控制台应用程序的。我澄清了我的问题的那一部分。我已经解决了这个问题并将我的发现发布在:stackoverflow.com/a/65332151/11809808

标签: c# .net console-application rider


【解决方案1】:

你有两个选择:

选项 1 - 手动编辑 .csproj 文件

打开.csproj 文件并将<None Include="fuel.csv"> 替换为以下内容:

<None Include="fuel.csv">
  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

选项 2 - 在对话框中更新属性

  1. 右键单击文件
  2. 点击“属性”
  3. 将“复制到输出目录”设置为“如果较新则复制”(如果没有看到这些选项,请向下滚动)

【讨论】:

  • 或者,当您决定将其作为资源嵌入时,您可以从资源中读取,stackoverflow.com/questions/3314140/…
  • 不确定 Rider,但在 Visual Studio 中,您可以在解决方案资源管理器树中选择文件,然后在此处设置属性“复制到输出目录”,无需打开 .csproj 文件。我猜 Rider 可能有同样的能力。
  • @quaabaam 不幸的是,该功能在 Rider 中不可用。 ☹️
  • @quaabaam 原来该功能在 Rider 中可用。我错过了滚动条,没有意识到还有更多选择。我已经相应地更新了我的答案。
猜你喜欢
  • 2017-03-16
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 1970-01-01
  • 1970-01-01
  • 2020-08-31
相关资源
最近更新 更多