gpt4 book ai didi

c# - EnumerateFiles 以避免缓存

转载 作者:太空狗 更新时间:2023-10-29 23:46:07 27 4
gpt4 key购买 nike

我正在使用 EnumerateFiles 获取目录中的所有 *.md:

foreach (var mdName in Directory.EnumerateFiles(Path.Combine(BaseDirectory,
"assets/markdowns"), "*.md", SearchOption.AllDirectories))
{
// async md parser call goes here
}

我有三个测试文件a.mdb.mdc.md

现在,当我将 a.md 重命名为 a1.md 时,EnumerateFiles 返回旧文件名和新文件名。PowerShell 的结果显示我有 3 个文件,而 EnumerateFiles 返回 4 个文件。

我在某处读到 EnumerateFiles 使用延迟加载进行某种缓存?但是当文件被重命名时,它不应该使缓存失效吗?

GetFiles/EnumerateFiles 输出:

[0]: "C:\\Repos\\KiddiesBlog\\Tests\\bin\\Debug\\assets/less\\a.md"
[1]: "C:\\Repos\\KiddiesBlog\\Tests\\bin\\Debug\\assets/less\\b.md"
[2]: "C:\\Repos\\KiddiesBlog\\Tests\\bin\\Debug\\assets/less\\c.md"
[3]: "C:\\Repos\\KiddiesBlog\\Tests\\bin\\Debug\\assets/less\\_a.md"
[4]: "C:\\Repos\\KiddiesBlog\\Tests\\bin\\Debug\\assets/less\\_a1.md"
[5]: "C:\\Repos\\KiddiesBlog\\Tests\\bin\\Debug\\assets/less\\_a2.md"
[6]: "C:\\Repos\\KiddiesBlog\\Tests\\bin\\Debug\\assets/less\\_a3.md"

最佳答案

原来是我的错误。有一个 MSBuild 任务负责在 Debug 目录中创建实际 Assets 的卷影副本。它具有所有以前的文件。 VS 不会清除 Clean Solution 上的文件夹。我想我需要修改这个任务来观察源目录的变化。

关于c# - EnumerateFiles 以避免缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20173635/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com