System.ArgumentException: 无法找到字体“?”。

在 asp.net 中遇到异常:

System.ArgumentException: 无法找到字体“?”。
   在 System.Drawing.FontFamily.GetGdipGenericSansSerif()
   在 System.Drawing.FontFamily.CreateFontFamily(String name, FontCollection fontCollection)
   在 System.Drawing.FontFamily..ctor(String name, Boolean createDefaultOnFail)
   在 System.Drawing.Font.Initialize(String familyName, Single emSize, FontStyle style, GraphicsUnit unit, Byte gdiCharSet, Boolean gdiVerticalFont)
   在 System.Drawing.Font..ctor(String familyName, Single emSize, FontStyle style)

在网上搜了一圈,没找到太好的解决方案:

1、检查 Fonts 文件夹的权限(检查了一下,似乎无法直接右键设置权限,所以没有动);

2、重启一下应用程序池就可以了;

但是并不知道根本原因是如何引发的,推测是调用频率过高会引发此现象?但是同样在其它正在运行的程序池中还是正常的,所以是一个跟进程相关的bug?

参考:

https://forums.asp.net/t/1193221.aspx

https://social.msdn.microsoft.com/Forums/en-US/36ab500f-4d38-418f-97f5-dfece24c281f/systemargumentexception-font-cannot-be-found-during-application-start-up-any-ideas

原文地址:https://www.cnblogs.com/xwgli/p/13182038.html