Обновление форм Xamarin вызывает System.IO.FileNotFoundException - ReactiveUI.Winforms при использовании ReactiveUI - PullRequest
0 голосов
/ 08 января 2019

После обновления пакета Xamarin Forms в моем проекте до 3.4.0.1009999 я начал получать System.IO.FileNotFoundException при использовании WhenAnyValue из пакета ReactiveUI. Инструкции API говорят только о включении ReactiveUI, ReactiveUI.XamForms и ReactiveUI.Events.XamForms, которые у меня есть.

Несмотря на это, я получаю Не удалось загрузить файл или сборку 'ReactiveUI.Winforms' или одну из ее зависимостей здесь:

this.WhenAnyValue(x => x.DiscountSliderValue).Throttle(TimeSpan.FromMilliseconds(800)).Subscribe(CartManager.Instance.UpdateDiscountPercent);

Добавление в пакет ReactiveUI.Winforms, к сожалению, не помогает.

Это код и упаковка, которые работали в этом проекте в течение 6 месяцев и более без каких-либо проблем, поэтому это новая проблема. Я потратил значительное количество времени на поиски ответов и ничего не нашел.

Есть идеи по поводу причины?

1 Ответ

0 голосов
/ 27 февраля 2019

Я столкнулся с той же проблемой, но наоборот. Winforms запрашивает XamForms DLL, когда ничто не должно ссылаться на XamForms

Проверка журнала Fusion показывает, что в моем случае вызывающей сборкой является ReactiveUI, см. Урезанную версию ниже:

=== Предварительная привязка информации о состоянии ===
LOG: DisplayName = ReactiveUI.XamForms, версия = 9.11.0.0, культура = нейтральная, PublicKeyToken = ноль Вызывающая сборка: ReactiveUI, версия = 9.11.0.0, культура = нейтральная, PublicKeyToken = ноль.

Что не имеет никакого смысла для меня!

Решение, которое я нашел, состояло в том, чтобы закрыть Visual Studio и удалить всю папку .vs. Иногда информация в этой папке становится поврежденной. Я не могу с уверенностью сказать, почему или даже если это было настоящей причиной, потому что, похоже, это не так, но мне показалось, что это работает.

...