在我使用Windows 10 Pro的本地开发机器上添加一个私有字体很好。但是,在Windows 2012 R2上,相同的代码会导致以下错误:
System.Runtime.InteropServices.ExternalException:-- GDI+中发生了一个泛型错误。在System.Drawing.Text.PrivateFontCollection.AddFontFile(String文件名)
var privateFontCollection = new PrivateFontCollection();
privateFontCollection.AddFontFile("Roboto-Regular.ttf");当我删除文件时,它会产生一个NotFoundException,所以文件路径必须是正确的。我确保每个用户都对该文件拥有所有可能的权限。(我发现,如果我拒绝本地win 10机器上的所有权限,就会发生同样的“泛型错误”-因此可能是权限问题)。
有谁能解决这个问题吗?是否可能生产机器上的服务用户缺乏“安装”私有字体所必需的其他一些权限?也许字体会被安装到一个不允许的特定目录中--但是我找不到这个目录的位置。请帮助我这个非常自我解释“通用错误”。
发布于 2016-10-04 06:41:21
不使用绝对路径似乎是个问题。一开始没有想到这一点,因为删除文件会导致显式的FileNotFound。使用绝对路径就成功了。
https://stackoverflow.com/questions/39830573
复制相似问题