【问题标题】:System.IO.IOException: There is not enough space on the diskSystem.IO.IOException:磁盘空间不足
【发布时间】:2016-06-08 06:22:28
【问题描述】:

我在运行时遇到了这个异常

System.IO.File.WriteAllText(@"\\somenetworklocation\OutputCheck.txt", string.Join(Environment.NewLine, _info.ToArray()));

昨天还不错。该行由tfs build 中的custum activity 运行,它仅用于测试目的,无论我需要它工作。

  1. 它保存到的驱动器上有空间。
  2. TFS Server 可以访问该驱动器。
  3. 在没有对软件进行任何修改的情况下,我开始收到此错误。
  4. 它保存到的驱动器和 tfs 服务器上有可用空间。

更新:它在 7 次不成功的构建后再次开始工作。任何想法为什么会发生这种情况高度赞赏。

【问题讨论】:

  • 也许您的交换文件所在的驱动器上没有足够的空间。检查您的内存消耗。为什么需要额外的数组。如果您使用的是 .NET4,则可以使用 System.IO.File.WriteAllText(@"\\somenetworklocation\OutputCheck.txt", string.Join(Environment.NewLine, _info));。也许您应该使用StreamWriter 并一行接一行地编写。
  • _info 是一个列表 参考 1 和 4 的空间。并检查我即将发布的更新。
  • 您刚才提到文件所在的驱动器上有足够的空间,而不是交换文件所在的驱动器上有足够的空间。此外,如果_info 是一个列表,ToArray 会无缘无故地创建一个大小相同的数组。甚至列表本身也可能是多余的,您可以循环列表的任何来源,以逐行写入文件。
  • 对不起,我误会了,该驱动器上还有超过 30GB 的空空间。
  • 此列表 的目的是在测试二进制文件运行期间收集数据。此二进制文件由自定义活动运行。完成所有测试后,我不需要那个超级简单的日志。我使用它的唯一原因是因为添加到列表非常清晰且简单,因此将其保存到文件中。如果您可以分享一些将创建 txt 并在一行中替换旧的和愚蠢的文本的衬里,我非常乐意尝试一下。

标签: c# exception tfs


【解决方案1】:

清理系统上位于该机器主驱动器中的临时文件。

【讨论】:

  • 在发帖之前已经完成了,虽然这从来没有造成任何问题
猜你喜欢
  • 1970-01-01
  • 2013-10-09
  • 2015-12-04
  • 2015-12-30
  • 1970-01-01
  • 2018-01-30
  • 1970-01-01
  • 1970-01-01
  • 2020-07-31
相关资源
最近更新 更多