Microsoft.Bcl.AsyncInterfaces error (in CSVHelper method) when running the application installed by Visual Studio Setup project

1

I have a WPF application that reads a CSV file using CSVHelper which I installed using NuGet. Here's the project, system, etc version info.

Microsoft Windows 7 Professional Version 6.1.7601 Service Pack 1 Build 7601

Microsoft Visual Studio Community 2019 Version 16.4.5

NuGet Package Manager 5.4.0

WPF Project Target Framework: .NET Framework 4.7.2

CSVHelper Version: 15.0.5

CSV reader method is straightforward; read a file and put it in a list. Nothing fancy. I'll link the entire project at the bottom so you can download and try it out if you want.

When I run the executable made in either Release or Debug builds, they work fine. They read the file, put contents in a list, and display on a DataGrid just fine. As a next step, I created a standard Visual Studio Setup project, and created an msi installer, which I used to install the app in my PC.

When I run that executable (which is in my Program Files directory), however, the application throws an exception. Here's the exception message and Stack Trace.

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()

Since the error says couldn't load the assembly Microsoft.Bcl.AsyncInterfaces, I added that from NuGet and ran everything again, and I still get the error. What's the problem here? What does it mean that Reference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context.? And why do I only get this exception when I run the executable installed by the Setup project?

Please download the entire project from HERE.

wpf
visual-studio
setup-project
csvhelper
base-class-library
asked on Stack Overflow May 18, 2020 by Sach

1 Answer

2

Just so anyone runs into the same issue in the future; as Jones suggested in the comments, downgrading each of the two libraries to following versions fixed the issue for me.

CsvHelper ==> 12.3.2

And

Microsoft.Bcl.AsyncInterfaces ==> 1.0.0
answered on Stack Overflow May 27, 2020 by Sach

User contributions licensed under CC BY-SA 3.0