无法从 Microsoft.Extensions.Logging.Abstractions 加载类型

Liz*_*izP 3 c# reference nuget .net-core

我有一个适用于某些计算机而不是其他计算机的解决方案。例外是这样的:

无法从程序集“Microsoft.Extensions.Logging.Abstractions,版本=3.0.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”加载类型“Microsoft.Extensions.Logging.Abstractions.Internal.NullScope”

从诊断集输出构建中添加的信息说:

抛出异常:Services.dll 中的“System.Exception”。抛出异常:System.Private.Corelib.dll 中的“System.Exception”

我试图找出两台计算机之间的区别,但结果却不尽人意。

  • 两台工作/不工作的计算机都运行 VS2017 v15.9.17。
  • 两台计算机都安装了 .NET Framework 4.0
  • 启动项目使用 C# 7.1
  • 启动项目是 .NET Core 2.0
  • 输出说抛出错误的项目是 .NET Standard 2.0
  • 启动项目使用依赖注入创建通过 DBContexts 访问数据库的服务
  • 失败的电话是:
CustomUnit unit = await _dbContext.CustomUnit
                    .Include(x => x.Type)
                    .Include(x => x.UnitBuckets)
                    .Include(x => x.InventoryBuckets)
                    .Include(x => x.WIPBuckets)
                        .ThenInclude(y => y.Unit)
                    .SingleOrDefaultAsync(x => x.UnitId == unitId);
Run Code Online (Sandbox Code Playgroud)

工作的机器总是工作,而不工作的机器永远工作。我试过清除 nuget 缓存、删除和重新添加引用、删除和重新克隆项目到新位置都没有结果。由于所有机器都是从同一分支新提取的代码,没有修改,代码库是相同的。我一直无法找到两台机器之间的任何差异来解释为什么它可以在一台机器上运行而不是在另一台机器上运行。谁有想法?

小智 15

我解决了从 Nuget 安装“Microsoft.Extensions.Logging”的问题


Liz*_*izP 5

问题解决了。我将项目中的每个 Microsoft.Extensions nuget 包更新为 3.0.0.0,即使它们似乎与 Logging.Abstractions 无关,并解决了问题。

更新: 1. Microsoft.Extensions.Configuration 2. Microsoft.Extensions.Configuration.Abstractions 3. Microsoft.Extensions.Configuration.Binder 4. Microsoft.Extensions.Configuration.Json 5. Microsoft.Extensions.DependencyInjection 6. Microsoft.Extensions.Options