Ошибка Microsoft.Bcl.AsyncInterfaces (в методе CSVHelper) при запуске приложения, установленного проектом установки Visual Studio

У меня есть приложение WPF, которое читает файл CSV, используя CSVHelper который я установил с помощью NuGet. Вот информация о версии проекта, системы и т. Д.

Microsoft Windows 7 Professional, версия 6.1.7601, пакет обновления 1, сборка 7601

Microsoft Visual Studio Community 2019, версия 16.4.5

Диспетчер пакетов NuGet 5.4.0

Целевая платформа проекта WPF: .NET Framework 4.7.2

Версия CSVHelper: 15.0.5

Метод чтения CSV прост; прочитать файл и поместить его в список. Ничего фантастического. Я свяжу весь проект внизу, чтобы вы могли его скачать и попробовать, если хотите.

Когда я запускаю исполняемый файл, созданный в Release или Debugстроит, работают нормально. Они читают файл, помещают содержимое в список и отображаютDataGridпросто хорошо. Следующим шагом я создал стандартнуюVisual Studio Setup проект и создал msi установщик, который я использовал для установки приложения на свой компьютер.

Однако когда я запускаю этот исполняемый файл (который находится в моем каталоге Program Files), приложение выдает исключение. Вот сообщение об исключении и трассировка стека.

Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. Reference assemblies should not be loaded for execution.  They can only be loaded in the Reflection-only loader context. (Exception from HRESULT: 0x80131058)
   at ReadCSVTest.MainWindow.ReadPeopleList(String path, List`1& people, String& msg)
   at ReadCSVTest.MainWindow..ctor()

Поскольку ошибка говорит, что не удалось загрузить сборку Microsoft.Bcl.AsyncInterfaces, Я добавил это из NuGet и снова запустил все, но все равно получаю ошибку. В чем проблема? Что это значитReference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context.? И почему я получаю это исключение только при запуске исполняемого файла, установленного проектом установки?

Пожалуйста, скачайте весь проект ЗДЕСЬ.

1 ответ

Решение

Просто так, что кто-нибудь столкнется с той же проблемой в будущем; как Джонс предложил в комментариях, понижение каждой из двух библиотек до следующих версий устранило проблему для меня.

CsvHelper ==> 12.3.2

А также

Microsoft.Bcl.AsyncInterfaces ==> 1.0.0
Другие вопросы по тегам