Skip to content

TypeLoadException only when running using dotnet run, apps works fine from published artifacts #8674

Closed
@Antaris

Description

@Antaris

I'm getting a TypeLoadException for one of my types defined in an assembly that is referenced transitively. My solution setup is as follows:

samples\SecurityWebSample\SecurityWebSample.csproj (netcoreapp2.0)
src\Fx.Security\Fx.Security.csproj (netstandard2.0)
src\Fx.Security.Abstractions\Fx.Security.Abstractions.csproj (netstandard2.0)
tests\Fx.Security.Tests\Fx.Security.Tests.csproj (netcoreapp2.0)

My Fx.Security library references one of my packages from an internal NuGet feed, Fx.Messaging.Abstractions, which contains my type MessageBuilder.
Fx.Messaging.Abstractions targets netstandard2.0 like all other projects.

My unit test project Fx.Security.Tests builds and executes tests fine (and they all pass too!)

BUT

When I run my ASP.NET Core project (SecurityWebSample) using dotnet run (or from Visual Studio 2017 [15.3 Preview 7.0]), it throws a TypeLoadException saying it can't load my type:

TypeLoadException: Could not load type 'Fx.Messaging.MessageBuilder' from assembly 'Fx.Messaging.Abstractions, Version=0.2.0.0, Culture=neutral, PublicKeyToken=91f42c97e4c34ea6'.

BUT

If I publish this app using dotnet publish and then run the app dotnet .\SecurityWebSample.dll, it all works fine.

I can't get any more information out of the exception (there is no InnerException set).

Any ideas on how I might go figuring this out?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions