首页 > 解决方案 > 运行 Visual Studio 安装项目安装的应用程序时出现 Microsoft.Bcl.AsyncInterfaces 错误(在 CSVHelper 方法中)

问题描述

我有一个 WPF 应用程序,它读取CSVHelper我使用安装的 CSV 文件NuGet。这是项目、系统等版本信息。

Microsoft Windows 7 专业版 6.1.7601 Service Pack 1 Build 7601

Microsoft Visual Studio 社区 2019 版本 16.4.5

NuGet 包管理器 5.4.0

WPF 项目目标框架:.NET Framework 4.7.2

CSVHelper 版本:15.0.5

CSV 阅读器方法很简单;读取文件并将其放入列表中。没有什么花哨。我将在底部链接整个项目,以便您可以下载并尝试一下。

当我运行在其中一个ReleaseDebug构建中生成的可执行文件时,它们工作正常。他们读取文件,将内容放入列表中,然后显示DataGrid就好了。下一步,我创建了一个标准Visual Studio Setup项目,并创建了一个msi安装程序,用于在我的 PC 中安装应用程序。

但是,当我运行该可执行文件(位于我的 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.?为什么我只有在运行安装项目安装的可执行文件时才会出现这个异常?

请从这里下载整个项目。

标签: wpfvisual-studiosetup-projectcsvhelperbase-class-library

解决方案


就像将来任何人都会遇到同样的问题一样;正如琼斯在评论中建议的那样,将两个库中的每一个降级到以下版本为我解决了这个问题。

CsvHelper ==> 12.3.2

Microsoft.Bcl.AsyncInterfaces ==> 1.0.0

推荐阅读