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