I'm sorry, but I cannot think of a way to allow you to resolve this problem without changing your build system.
NCrunch sits on top of a very complex platform consisting of layers of interaction between Nuget and MSBuild. In broad terms, a reference to an assembly is either done via Nuget or it's done through a direct assembly reference. Somehow, you've managed to create a reference that is technically both things at the same time, and NCrunch does not have a way to handle such a situation.
If the reason you're not able to move this assembly is because of compatibility with builds outside of NCrunch, the best I can suggest would be to add an environment variable that is used to specify the location of the assembly. You can then set this to a different location under NCrunch using the
Custom environment variables setting.
If you're using a system with a centralised cache of assembly references, many of which happen to also be Nuget packages, you could try splitting the centralised cache into two separate directories - one for Nuget package assemblies and one to contain non Nuget packages that are centrally referenced using AssembyReference. In this way, the assembly can stay located outside the configured Nuget package cache while still being centrally stored and addressed.