【发布时间】:2016-10-03 11:31:17
【问题描述】:
在装有 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 机器上的所有权限,则会发生相同的“一般错误” - 所以这可能是权限问题)
有没有人解决这个问题? 生产机器上的服务用户是否可能缺少“安装”私有字体所需的其他一些权限?也许字体被安装到一个不允许的特定目录 - 但我找不到它会在哪里。 请帮我解决这个自我解释的“一般错误”。
【问题讨论】:
标签: c# gdi+ privatefontcollection