NUnit Could not load file or assembly 'Microsoft.AspNetCore.SignalR.Core, Version=3.0.0.0"

0

I'm trying to Mock one of my SignalR hubs using Moq in an NUnit test project. When i try to Mock it however, i run into the following excpetion:

    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()

My test project references my "main" project, they are both in the same solution, the .csproj of the test project looks like this:

<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>

Currently (for test purpose) my Unit test looks like this:

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);
    } 
}

When i try to debug the MockHub method, the error stated above is raised.

What have i tried so far:

I'm on a Windows machine. NET Core version is 3.0.100. Editor used is Rider 2019.3.

What's weird is that is works on MacOS with Rider 2019.3, I tried it today and didn't have any problems.

Any help is appreciated!

c#
.net-core
nunit
moq
rider
asked on Stack Overflow Feb 24, 2020 by JessengBijleng

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0