gpt4 book ai didi

c# - 为什么 TempFileCollection 在 AddExtension ("tmp"抛出异常)?

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:45 24 4
gpt4 key购买 nike

有谁知道为什么下面的代码会抛出 System.ArgumentException?

using (var tfc = new TempFileCollection())
{
var fn = tfc.AddExtension("tmp");
Console.WriteLine(fn);
}

这里是确切的异常(exception):

System.ArgumentException: The file name 'C:\Users\pczapla\AppData\Local\Temp\iqulrqva.tmp' was already in the collection.
Parameter name: fileName.

最佳答案

Reflector 的一个小 Action 揭示了 TempFileCollection 中以下有趣的片段:

new FileIOPermission(FileIOPermissionAccess.AllAccess, basePath).Demand();
path = this.basePath + ".tmp";
using (new FileStream(path, FileMode.CreateNew, FileAccess.Write))
{
}
flag = true;
...
this.files.Add(path, this.keepFiles);

这是在TempFileCollection.EnsureTempNameCreated中,由TempFileCollection.BasePath调用,由TempFileCollection.AddExtension调用。我猜占位符使用“.tmp”,所以你不能。

关于c# - 为什么 TempFileCollection 在 AddExtension ("tmp"抛出异常)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1307225/

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