.net core .NET核心单元测试引发FileLoadException

.net core .NET核心单元测试引发FileLoadException,.net-core,xunit.net,.net Core,Xunit.net,我确信在升级.NETCore之前,这些测试运行得很好,但我不知道它们是如何被破坏的,也不知道为什么 我开发了三个库。我们称它们为A,B和C。B直接依赖于A,C直接依赖于B和A。它们都是多目标的.NET标准1.1+和.NET Framework 4.5库 库A和库B工作得非常好。库B的单元测试依赖于A的正常运行,作为库B的可传递依赖项。构建仍然有效,测试(xUnit)运行良好 在库C中,我直接消耗A和B。尽管C和它的单元测试构建得很好,但它们不能正确运行。C的单元测试项目的布局与库B完全相同 &l

我确信在升级.NETCore之前,这些测试运行得很好,但我不知道它们是如何被破坏的,也不知道为什么

我开发了三个库。我们称它们为A,B和C。B直接依赖于A,C直接依赖于B和A。它们都是多目标的.NET标准1.1+和.NET Framework 4.5库

库A和库B工作得非常好。库B的单元测试依赖于A的正常运行,作为库B的可传递依赖项。构建仍然有效,测试(xUnit)运行良好

在库C中,我直接消耗A和B。尽管C和它的单元测试构建得很好,但它们不能正确运行。C的单元测试项目的布局与库B完全相同

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>netcoreapp1.1;net452</TargetFrameworks>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
    <PackageReference Include="xunit" Version="2.2.0" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\C\C.csproj" />
  </ItemGroup>

  <ItemGroup>
    <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
  </ItemGroup>

我已经检查了明显的问题:库存在于我们的内部NuGet提要上,版本号在B和C之间匹配(只有一个版本,因此也没有程序集绑定重定向),A和B肯定是.NET标准库,因此它们将在.NET Core 1.1下工作。我完全不知所措,因为.NETFramework版本的测试运行得很好,而且我很肯定我以前会注意到我的测试失败。有人有什么建议吗?

关于文件引用的程序集,.NET Core 1.1中有一个bug:


该问题是否适用于此处?

在.NET Core 1.1中存在一个与文件引用的程序集相关的错误:


这个问题在这里适用吗?

似乎确实如此。我将测试升级到netcoreapp2.0,测试成功。非常感谢。似乎确实如此。我将测试升级到netcoreapp2.0,测试成功。非常感谢。
System.IO.FileLoadException: Could not load file or assembly 'A, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Could not find or load a specific file. (Exception from HRESULT: 0x80131621)