All the code which was making the p/invoke was present in ClassLibrary1.dll. So before debugging the application from visual studio I simply copied the C++ unmanaged assembly (myUnmanagedFunctions.dll) into the \bin\debug\ directory of ClassLibrary1 project so that it can be loaded at run-time by the CLR.
I recently migrated my desktop from ArcGIS 10.1 to 10.3.1 and visual studio from 2010 to 2013. I am now getting a problem trying to run an Engine application. It builds fine but when I try to debug it I get the above error. The error occurs right at the start when trying to get a list of installed environments "For Each item As ESRI.ArcGIS.RuntimeInfo In irs":
The problem was somehow the target CPU of the project had changed. If you go to project properties and then compile there are 2 places where the target platform is set. On the first line there is a dropdown for "Platform". This was correctly set to x86. But 4 rows down there is another drop down for "Target CPU". This was set to x64 somehow. Once I changed it to x86 it compiled fine. I don't know how this changed unless it was done automatically as part of the visual studio upgrade of the solution file from VS 2010 to VS 2013.
not sure if this is part of the problem, but try to download the latest SQLite via package manager in visual studio. Then make sure your solution is targeting the same .NET Framework version as the latest SQLite build is uses. If fore some reason it uses a higher .NET Framework that is currently installed in you pc ( you will notice this in VS) just download it and repeat the process.
From Programs and Features (Control Panel) I repaired Visual Studio 2012 but the problem still remains. When I go to the project folder i can't find any dll files, I see the .exe file which is running correctly if I double click on it. From the error description i don't even know what dll is missing. Any ideas what i could do to solve the problem ? About what dll is visual studio talking ?
After a lot of search I could not find out why Visual Studio was not working, so I decided to uninstall it completely and then install it again. At first there where also problems uninstalling it because of some missing .dll files. But i figured out that i need first to disable and then uninstall all the plugins in Visual Studio first. Now everything is working fine after I re-installed Visual Studio. I guess the problem was caused by a visual studio plugin (maybe NuGet Package Manager) but i am not sure.
Also, if you had already built your app previous to adding the DLL into your hierarchy, you may need to delete your folder that you build to (commonly App, but not always). Then when you create a build it will get added into the visual studio project correctly. You also need to do this if you make a change to the DLL and copy the new version of the file in.
and reloaded then this error was gone but again not knowing if there's any ramification. the build doesn't show up any error in visual studio but then when i run the cbot, it crashes and throws an exception :
I am currently trying to get FMOD integrated into our C# game project (not Unity) but running into some issues. It was relatively simple getting things added in and compiling, but during runtime I always get an error about loading fmodstudio64.dll. I even tried hardcoding the absolute path of the file as a test, but it still failed when attempting to load despite the fact that it was pointing directly at the proper DLL file.
Found the solution - looks like C# just has terrible error messaging when it comes to a failed LoadLibrary call. The actual error was that it was failing to load fmod64.dll, which fmodstudio64.dll is dependent upon. I fixed the issue there (was just a stupid error in my copy to output directory logic) and things seem to be working correctly now. 2b1af7f3a8