System.Windows.Markup.XamlParseExceptionИ подобная ситуация повторяется на нескольких аналогичных пакетах и на разных версиях.
HResult=0x80131501
Сообщение = Could not load file or assembly 'FontAwesome5.Net, PublicKeyToken=9cfaf01297a008f8' or one of its dependencies. Не удается найти указанный файл.
Источник = PresentationFramework
Трассировка стека:
at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at ASpecCore.Views.UserControls.FactoryUserControl.InitializeComponent() in C:\Users\kpblc\source\repos\ASpec2\ASpecCore\Views\UserControls\FactoryUserControl.xaml:line 1
Внутреннее исключение 1:
FileNotFoundException: Could not load file or assembly 'FontAwesome5.Net, PublicKeyToken=9cfaf01297a008f8' or one of its dependencies. Не удается найти указанный файл.
Смотрю - а файлы FontAwesome5, FontAwesome5.NET на самом деле рядом лежат.То что они лежат рядом - это не имеет никакого значения. Ты должен их подгрузить в методе Initialize (если неуспеваешь их использовать их в каких-то статических методах до вызова Initialize). Точнее в Initialize ты должен подписаться на событие AppDomain.CurrentDomain.AssemblyResolve, а в этом событии находить и загружать соответствующий dll-файл. У нас на форуме есть примеры. Поищи по "AssemblyResolve".
Ок, поищу. Но почему тот же EntityFramework прекрасно подгружается и без таких шагов? Магия? :)Эта (если я ничего не путаю) сборка входит в состав .NET Framework и зарегистрирована в системе.
Но почему тот же EntityFramework прекрасно подгружается и без таких шагов? Магия?Есть такая беда в Автокаде - плохо цепляет сборки с XAML-зависимостями. То есть, если в XAML-разметке есть код типа:
Чтобы библиотеки нормально цеплялись они должны лежать в корне папки, в которой расположен acad.exe. Поэтому лучше всегда их загружать принудительноНу, для железобетонности, наверное, можно и все и всегда грузить принудительно. Но это накладно. Особенно, когда ты используешь сборку, которая ссылается на другую сборку, а та тянет третью и тд. Подгрузку каждой из них устанешь прописывать... Можно, конечно, сделать универсальный загрузчик. который сканирует всю папку и загружает все dll из неё. Но как-то пока не вижу в этом резона. Да и есть теоретический риск загрузить что-то лишнее, что вызовет другие проблемы.
Или я ошибаюсь, и с обычными DLL тоже бывали проблемы?У меня такое было с BouncyCastle.Crypto.dll, Ionic.Zip.dll и itextsharp.dll