Note! Article applies to developers using Visual Studio on 64-bit Windows.
Visual Studio is a great tool. Most developers who can use it should.
Currently OpenSim has some problems with 64-bit mode. This is because we have some native .dll’s and .so’s such as:
- + more
SQLite you can do without by choosing MySQL or similar. But the rest is a bit more difficult.
See http://www.adamfrisby.com/blog/2008/08/running-opensim-under-a-64-bit-environment/ for more info.
To solve this problem we have a file named “OpenSim.32BitLaunch.exe” which is compiled with CPU target set to 32-bit. This in term loads OpenSim.exe as a standard module and executes it.
But this is only from command line. If you want all the glory of debugging that Visual Studio provides then this workaround will work:
- Download the OpenSim source as usual, run prebuild as usual.
- Open OpenSim.sln in Visual Studio.
- Right click solution and choose Add->Existing Project…
- Browse to “OpenSim\Tools\OpenSim.32BitLaunch” and add the project “OpenSim.32BitLaunch”.
- Right click project called “OpenSim.32BitLaunch” and choose “Set as StartUp Project”.
And OpenSim will run from Visual Studio on 64-bit Windows…
2 thoughts on “OpenSim in Visual Studio on Win64”
Tedd,this was very useful! In the past few days I've run into a problem where the process being debugged complains about the log4net configuration. It doesn't complain when you run the process without the debugger.The exact error is:(left angle-bracket)log4net:ERROR XmlConfigurator: Failed to find configuration section 'log4net' in the application's .config file. Check your .config file for the (left angle-bracket)log4net> and (left angle-bracket)configSections> elements. The configuration section should look like: (left angle-bracket)section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />where opening brackets have been replaced to meet you comment box's requirements.
Peter,To solve the above problem with debug output when running OpenSim.32BitLaunch.exe, copy the bin\OpenSim.exe.config file to bin\OpenSim.32BitLaunch.exe.config file. If a file called OpenSim.32BitLaunch.exe already exists, you can overwrite it. At least that is what I did and it solved the problem.