下面的代码将在Windows 10 1709上抛出UnauthorizedAccessException
。在以前版本的Windows 10(或8.1)中,不会抛出任何异常。如果注释掉LoadFromFileAsync
的行,则不会抛出任何异常。
private async void Button_Click(object sender, RoutedEventArgs e)
{
var source = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"Assets\example.pdf");
var tempFile = await source.CopyAsync(ApplicationData.Current.TemporaryFolder, "my.pdf", NameCollisionOption.ReplaceExisting);
var pdf = await PdfDocument.LoadFromFileAsync(tempFile);
await tempFile.DeleteAsync(StorageDeleteOption.PermanentDelete);
}
由于PdfDocument
没有提供释放/释放明显声称的资源的方法,这似乎是框架内的一个错误。我能想到的唯一解决方法是通过LoadFromStreamAsync
传递数据,以防止文件被锁定。
那么如何在Windows 10 1709上正确发布PdfDocument
?
尝试删除前的其他屏幕截图:
答案 0 :(得分:1)
最后采用了解决方法来阻止<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_hr_payslip_inherit_form_extended" model="ir.ui.view">
<field name="name">hr.payslip.inherit.form</field>
<field name="model">hr.payslip</field>
<field name="inherit_id" ref="hr_payroll.view_hr_payslip_form" />
<field name="arch" type="xml">
<xpath expr="//page[1]" position="after">
<form string="tes_table" colspan="4" nolabel="1">
<notebook>
<page string="Pendapatan Karyawan">
<separator string="Tes Hasil"/>
<group col="4">
<tree colspan="4" nolabel="1" string="Tunjangan Gaji">
<field name="gaji_pokok"/>
<field name="t_lembur"/>
</tree>
</group>
</page>
</notebook>
</form>
</xpath>
</record>
锁定文件:
PdfDocument