我正在尝试对我的一个项目进行单元测试,该项目在 VS2017 中使用 ASP 身份(EF 核心)。
我遇到的问题是,当我在内存中使用 EF 内核创建数据库上下文时,它会因以下错误而崩溃 -
消息:System.IO.FileLoadException:无法加载文件或程序集“Microsoft.Extensions.DependencyInjection.Abstractions,Version=1.1.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)
我正在使用以下 nuget 包
其余是您在创建项目时获得的默认 xunit 包。
任何帮助将不胜感激,花很多时间试图弄清楚出了什么问题:/
这是单元测试代码:
public class TestDbContext : IdentityDbContext<User>
{
public TestDbContext(DbContextOptions<TestDbContext> options) : base(options)
{
}
}
public class User : IdentityUser
{
}
[Fact]
public void Test1()
{
var builder = new DbContextOptionsBuilder<TestDbContext>();
builder.UseInMemoryDatabase();
var context = new TestDbContext(builder.Options);
}
升级到最新版本Microsoft.NET.Test.Sdk
可以解决问题。
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句