NUnit Не удалось загрузить файл или сборку 'Microsoft.AspNetCore.SignalR.Core, Version = 3.0.0.0 " - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь смоделировать один из моих центров SignalR, используя Moq в тестовом проекте NUnit. Однако, когда я пытаюсь смоделировать его, я сталкиваюсь со следующим исключением:

    System.BadImageFormatException : Could not load file or assembly 'Microsoft.AspNetCore.SignalR.Core, Version=3.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. Reference assemblies should not be loaded for execution.  They can only be loaded in the Reflection-only loader context. (0x80131058)
  System.BadImageFormatException : Cannot load a reference assembly for execution.
   at SocketServerTests.TestHub.Setup()

Мой тестовый проект ссылается на мой "основной" проект, они оба находятся в одном решении, выглядит .csproj тестового проекта как это:

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

<PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
    <PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.1" />
    <PackageReference Include="Moq" Version="4.13.1" />
    <PackageReference Include="nunit" Version="3.12.0" />
    <PackageReference Include="NUnit3TestAdapter" Version="3.13.0" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.2.0" />
</ItemGroup>

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

<ItemGroup>
  <Reference Include="Microsoft.AspNetCore.SignalR.Core, Version=3.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
    <HintPath>C:\Program Files\dotnet\packs\Microsoft.AspNetCore.App.Ref\3.0.0\ref\netcoreapp3.0\Microsoft.AspNetCore.SignalR.Core.dll</HintPath>
  </Reference>
</ItemGroup>

В настоящее время (для целей тестирования) мой модульный тест выглядит следующим образом:

public class TestHub
{
    private Mock<MasterHub> _hub;

    [SetUp]
    public void Setup()
    {
        var loggerFactory = LoggerFactory.Create(builder => { });
        var logger = loggerFactory.CreateLogger<MasterHub>();
        var roomProvider = new RoomProvider();
        var userProvider = new UserProvider();
        var dataProvider = new DataProvider(roomProvider, userProvider);

        _hub = new Mock<MasterHub>(dataProvider, logger);
    }

    [Test]
    public void MockHub()
    {
        var boolean = true;
        Assert.True(boolean);
    } 
}

Когда я пытаюсь отладить метод MockHub , ошибка, указанная выше, возникает.

Что я пробовал до сих пор:

Я на Windows машине. NET Базовая версия 3.0.100. Используется редактор Rider 2019.3.

Что странно, так это то, что он работает на MacOS с Rider 2019.3, я пробовал сегодня, и у меня не было проблем.

Любая помощь приветствуется!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...