The Web API I'm creating links to Sage 300. When you reference the 2 DLLs that you need to connect to Sage's API, they are 32bit DLLs. If I set the project properties to be x86, running it loads the browser and then immediately exists with:
'dotnet.exe' (CoreCLR: DefaultDomain): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.0\System.Private.CoreLib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
The program '[14832] dotnet.exe' has exited with code -532462766 (0xe0434352).
If I set it to Any CPU I get:
System.BadImageFormatException: 'Could not load file or assembly 'ACCPAC.Advantage, Version=6.5.0.10, Culture=neutral, PublicKeyToken=4d7048ecf2312a7c'. An attempt was made to load a program with an incorrect format.'
Now I know this is because the Sage DLLs are 32bit. In Visual Studio 2017 there is this option:
Tools
-> Options
-> Projects and Solutions
-> Web Projects
-> Uncheck "Use the 64 bit version of IIS Express for web sites and projects"`
It is unchecked. I checked it to see if it made a difference. It didn't. Any thoughts?