Entity Framework Core和.NET标准2.0--不一致的行为。

问题描述 投票:0回答:1

环境问题: VS2019 - ver16.6, Windows 10 pro 1903

我按照 这个 来自微软团队的链接,以创建一个 VS2019 溶液与 .NET Standard 2.0 图书馆项目和一个假人 .NET Core Console 应用作为一个启动项目。在该方案中,我也按照这个 EF核心官方教程 营造 SQLite 数据库 MySQLiteDb.db)的根目录下创建的。.NET Core Console.

之后,我参考了 .NET Standard 馆中 WPF Full Framework 项目来执行一些db操作。为此,我复制了 MySQLiteDb.db 从上述项目到这个 WPF 项目并设置其 Copy to output directory 采取行动 Copy if newerBuild Action 作为 None. 现在,这个 WPF Full Framework 应用程序工作正常,并执行多个数据库操作,在 MySQLiteDb.db.

但是,当我在上面做同样的事情的时候,在一个 微软VSTO插件 的项目,引用相同的 .NET Standard 库,但我得到了一个不一致的行为。例如,有一半的时间 应用程序成功地执行了一次数据插入 但大约有一半的时间 应用程序在数据插入时抛出了以下错误。而且没有数据验证,因为这个测试db有三个简单的文本列,没有唯一的keysindex等。问题:为什么在数据插入时出现这种不一致的行为?为什么会出现这种不一致的行为?VSTO 项目而不在 WPF 项目,而两者都 .NET 4.8 项目。那如何解决这个问题呢?

:

内在异常1:SqliteException。SQLite Error 1: 'no such table: MyTable'.

c# wpf entity-framework-core vsto .net-standard
1个回答
0
投票

为什么在VSTO项目上有这种不一致的行为,但在WPF项目上没有,而两者都是.NET 4.8项目。

您需要确保插件使用的是.net framework 4.0运行时(CLR),它对应的是.net framework 4.8,而不是CLR 2.0。您可以使用配置文件来指定主机应用程序要使用的运行时版本,请参见 应用程序配置文件 更多信息 runtime 元素。

© www.soinside.com 2019 - 2024. All rights reserved.