C# System.IO.FileStream在资源管理器中创建重复文件夹

C# System.IO.FileStream在资源管理器中创建重复文件夹,c#,.net,windows-10,C#,.net,Windows 10,我正在使用FileStream和BinaryWriter创建一些二进制文件,并将文件放在MyDocuments中。但问题是,当我打开资源管理器窗口时,我会看到重复的文档文件夹 我是做错了什么还是Windows中有bug 如果关闭并重新打开资源管理器,多余的文档文件夹将消失。没什么大不了的,但这会给客户带来糟糕的体验 代码 var fileName = "FileStreamTest_{0:yyyyMMdd_HHmmss}.bin"; var filePath = Environment.GetF

我正在使用FileStream和BinaryWriter创建一些二进制文件,并将文件放在MyDocuments中。但问题是,当我打开资源管理器窗口时,我会看到重复的文档文件夹

我是做错了什么还是Windows中有bug

如果关闭并重新打开资源管理器,多余的文档文件夹将消失。没什么大不了的,但这会给客户带来糟糕的体验

代码

var fileName = "FileStreamTest_{0:yyyyMMdd_HHmmss}.bin";
var filePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string file = Path.Combine(filePath, string.Format(fileName, DateTime.Now));
short length = 5;

using (var fs = new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.None))
{
    using (BinaryWriter writer = new BinaryWriter(fs))
    {
        writer.Write(length);
        for (int i = 0; i < length; i++)
        {
            writer.Write((float)i);
        }
    }
}
var fileName=“FileStreamTest{0:yyyyMMdd\u HHmmss}.bin”;
var filePath=Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
stringfile=Path.Combine(filePath,string.Format(fileName,DateTime.Now));
短长度=5;
使用(var fs=new FileStream(file,FileMode.Create,FileAccess.Write,FileShare.None))
{
使用(BinaryWriter=新的BinaryWriter(fs))
{
作者:写(长度);
for(int i=0;i
浏览器

附录

我应该澄清一下。这实际上不会复制文件夹C:\users\username\Documents。该副本包含指向Windows资源管理器导航窗格中该文档文件夹的链接

  • 环境:Windows 10教育
  • .NET版本:4.6.1

    • 我认为这不是由您的代码引起的。您是否在Win 10中为文档文件夹定义了非标准位置?如果是这样,这可能是一个促成因素。在过去的几周里,我一直在疯狂地用谷歌搜索,想找到一个解决方案,但没有任何运气

      在我的机器上,对Documents文件夹中的文件的任何写入操作都会触发问题,甚至复制文件。当我输入这个时,我在“这台电脑”下有19个重复的“文档”链接。无害(看似无害),但令人抓狂


      更新:这里有一个修复/解决方法。导航栏会有点混乱,但比现状要好。在文件资源管理器中,转到“查看->选项->更改文件夹和搜索选项->查看->向下滚动到“导航窗格”->[X]显示所有文件夹

      我认为这不是由您的代码引起的。您是否在Win 10中为文档文件夹定义了非标准位置?如果是这样,这可能是一个促成因素。在过去的几周里,我一直在疯狂地用谷歌搜索,想找到一个解决方案,但没有任何运气

      在我的机器上,对Documents文件夹中的文件的任何写入操作都会触发问题,甚至复制文件。当我输入这个时,我在“这台电脑”下有19个重复的“文档”链接。无害(看似无害),但令人抓狂


      更新:这里有一个修复/解决方法。导航栏会有点混乱,但比现状要好。在文件资源管理器中,进入查看->选项->更改文件夹和搜索选项->查看->向下滚动到“导航窗格”->[X]显示所有文件夹

      我运行代码时没有收到这些信息:p为什么要调用
      writer.Write()
      两次?此外,这些文件不是由您发布的code@Rahul第一次写入写入元素数,第二次写入。请确保在“窗口资源管理器”中显示文件扩展名。不能有具有相同文件名的副本,因此扩展名必须不同。这似乎是一个常见问题,可能与OneDrive有关。从屏幕截图中图标上的绿色复选标记判断,您似乎正在使用OneDrive?我不知道,所以也许这就是我没有看到这个问题的原因。当我运行你的代码时,我不明白这一点:为什么你要调用
      writer.Write()
      两次?此外,这些文件不是由您发布的code@Rahul第一次写入写入元素数,第二次写入。请确保在“窗口资源管理器”中显示文件扩展名。不能有具有相同文件名的副本,因此扩展名必须不同。这似乎是一个常见问题,可能与OneDrive有关。从屏幕截图中图标上的绿色复选标记判断,您似乎正在使用OneDrive?我没有,所以也许这就是为什么我没有看到这个问题。