简体   繁体   中英

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

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. 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 .

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM