Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP .NET CORE could not find file or assembly with custom assembly

I've ran into a weird problem.

I basically have my own web-stack for .NET-core which I've built into a few .dlls, and I want to reference these from another ASP CORE-solution.

VS seems to find the assemblies, where I can navigate types etc. I can also build the project without any issues, but when IIS then runs the server I get an internal server error stating:

FileNotFoundException: Could not load file or assembly 'myDLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

The referenced DLLs are in the debug-folder, and the really weird thing is that if I create a new ASP Core project in the same solution as the web-stack, I can reference and use it without any problems.

Why is this happening only when running on a project outside the web-stack's solution, and what can I do to make it runnable everywhere?

like image 943
Tokfrans Avatar asked May 14 '17 17:05

Tokfrans


1 Answers

The .NET Core Tooling in VS 2017 (< 15.3 preview) / .NET CLI < 2.0 doesn't fully support referencing assemblies on disk. You need to package the library up as a NuGet package or use a project reference ("same solution"). The technical reason is that all the required assemblies and versions are resolved during compilation and written to the .deps.json file. When loading arbitrary assemblies, this might fail because either the assembly or its dependencies cannot be found (or a conflict with each other).

like image 164
Martin Ullrich Avatar answered Oct 13 '22 08:10

Martin Ullrich