Guten Abend,
ich finde mein Problem ganz witzig, aber das hatte bestimmt schonmal jemand. Ich nutze schon das neue Studio (2017), weiss aber nicht ob das damit etwas zu tun hat.
Ich habe einfach einen Unittest geschrieben, der einen Webapi Controller testet. Das Problem ist, er kann die Assembly nicht laden:
Fehlermeldung:
Expected: <System.ArgumentNullException>
But was: <System.BadImageFormatException: Could not load file or assembly 'MyProject.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.
File name: 'MyProject.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
Das Testprojekt hat die Referenz, der Pfad ist:
D:...\MyProject.Web\bin\Debug\net452\Timecheck.Web.exe
Das interessante ist das net452, das fügt Visual Studio dem Buildpath hinzu. Die Exe landet auch wirklich da, jedoch sucht .NET sie da nicht:
Fehlermeldung:
LOG: Attempting download of new URL file:///D:/.../bin/Debug/MyProject.Web.DLL.
LOG: Attempting download of new URL file:///D:/../bin/Debug/MyProject.Web/MyProject.Web.DLL.
LOG: Attempting download of new URL file:///D:/../bin/Debug/MyProject.Web.EXE.
ERR: Failed to complete setup of assembly (hr = 0x8007000b). Probing terminated.
Die ersten beiden versuche schlagen eh fehl, und der dritte kann nicht funktionieren weil er von dem net452 nichts weiss. Dummerweise restored VisualStudio die Projectsettings, wenn man versucht den Pfad wegzusetzen.
Any Suggestions?
VG, Sebastian