繁体   English   中英

PrivateFontCollection.AddFontFile()引发通用GDI +错误异常

[英]PrivateFontCollection.AddFontFile() throws generic GDI+ error exception

在Windows 10 Pro的本地开发机器上添加私有字体效果很好。 但是,在Windows Server 2012 R2上,完全相同的代码导致以下错误:

System.Runtime.InteropServices.ExternalException:GDI +中发生一般错误。 在System.Drawing.Text.PrivateFontCollection.AddFontFile(字符串文件名)

var privateFontCollection = new PrivateFontCollection();
privateFontCollection.AddFontFile("Roboto-Regular.ttf");

当我删除文件时,它会导致NotFoundException,因此文件路径必须正确。 我确保每个用户都对该文件拥有所有可能的权限。 (我发现,如果我拒绝本地win 10机器上的每个权限,都会发生相同的“一般错误”-因此可能是权限问题)

有没有人解决这个问题? 生产机器上的服务用户是否可能缺少“安装”私有字体所需的其他某些权限? 也许字体被安装到了不允许的特定目录中-但我无法确定其位置。 请帮助我自我解释“一般错误”。

不使用绝对路径似乎是一个问题。 起初没有想到,因为删除文件会导致显式FileNotFound。 使用绝对路径可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM