我正在开发一个需要在本地存储之外创建文件的 UWP 应用程序。我使用文件夹选择器让用户选择输出导向器,然后我使用存储该选择LocalSettings
并将文件夹添加到FutureAccessList
.
然后,我StorageFile.CreateFileAsync
用来创建文件(这是成功的,没有错误或异常)。
问题是,文件是使用阻塞创建的,正如您在文件属性对话框中看到的那样:
有没有一种特定的方法可以在没有这个的情况下创建文件,或者有一种使用 C# 解除阻塞的方法?
我正在开发一个需要在本地存储之外创建文件的 UWP 应用程序。我使用文件夹选择器让用户选择输出导向器,然后我使用存储该选择LocalSettings
并将文件夹添加到FutureAccessList
.
然后,我StorageFile.CreateFileAsync
用来创建文件(这是成功的,没有错误或异常)。
问题是,文件是使用阻塞创建的,正如您在文件属性对话框中看到的那样:
有没有一种特定的方法可以在没有这个的情况下创建文件,或者有一种使用 C# 解除阻塞的方法?
我想在这里分享我的一些发现:
我用代码测试以获得这个扩展属性:
IDictionary<string, object> extraProperties = await file.Properties.RetrievePropertiesAsync(propertiesName);
var propValue = extraProperties[appzoneProperty];
if (propValue != null)
{
fileProperties.AppendLine("appzone property: " + propValue);
}
我总是得到空值。据我了解,这可能与许可有关。
所以最后我想如果你需要修改这个特性,你可能不得不考虑使用 desktopbridge 相关技术来使用FullTrustProcessLauncher。这样,您也许可以运行win32 进程来修改您的文件的属性。