В моем приложении UWP я извлекал установленные шрифты, используя
try
{
var fonts = CanvasTextFormat.GetSystemFontFamilies();
return (fonts.Length>0) ? fonts.OrderBy(f => f).ToList() : new List<string>();
}
catch (Exception)
{
return new List<string>();
}
Работало нормально, пока не перестало работать. Теперь я получаю исключение
{System.IO.FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
at System.StubHelpers.StubHelpers.GetWinRTFactoryObject(IntPtr pCPCMD)
at Microsoft.Graphics.Canvas.Text.CanvasTextFormat.GetSystemFontFamilies()
at FontHelper.<>c.<LoadInstalledFonts>b__11_0()}
Я переместил этот раздел в диспетчер пользовательского интерфейса, думая, что, возможно, существуют ограничения на то, когда и кем GetSystemFontFamilies()
может быть вызван. Это не предотвратило исключение.
Что самое неприятное: раньше это работало. Никаких изменений, теперь он просто перестал работать ... Win2D является частью проекта версии 1.25.0.
Есть идеи, что может быть причиной этого?